您现在的位置是:首页 > 网络技术网络技术

Flutter学习笔记十七——打包生成apk文件

查看 旭日哥哥 的更多文章2021-03-16【网络技术】107人已围观

由于对iOS并不熟悉,也没有Xcode环境,所以只学习了Android打包生成apk文件。如果要学习iOS打包生成IPA文件可以参考官方文档:发布的IOS版APP
对于Android开发者来说,在清单文件AndroidManifest.xml里更改app名称和桌面图标、配置权限都已经很熟悉了。这里也是在项目下的android文件夹下进行操作。官方文档:发布Android版APP

创建 keystore

下面介绍一下如何生成签名文件:
官方文档中这样写的:keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
如果直接这样运行是会报错的:keytool 错误: java.io.FileNotFoundException: ~\key.jks (系统找不到指定的路径。)
所以我们得指定签名文件的保存路径:keytool -genkey -v -keystore E:\keys\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
敲回车后根据提示填写信息生成签名文件。

key.jpg


引用应用程序中的keystore

创建一个名为<app dir>/android/key.properties的文件,其中包含对密钥库的引用:

storePassword=<password from previous step>
keyPassword=<password from previous step>
keyAlias=key
storeFile=<location of the key store file, e.g. /Users/<user name>/key.jks>

properties.jpg

在gradle中配置签名

通过编辑<app dir>/android/app/build.gradle文件为您的应用配置签名

  • 1.在如图说是的位置添加:

def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

1.jpg
  • 2.替换:

buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig signingConfigs.debug    }}

为:

signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
    }
}
buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}

这样,我们应用的release版本将自动进行签名。

构建一个发布版(release)APK

使用命令行:
运行flutter build apk (flutter build 默认会包含 --release选项).

build.jpg


打包好的发布APK位于<app dir>/build/app/outputs/apk/app-release.apk。


Tags: flutter

文章评论

猜你喜欢

爱诚帝

V管理员
文章 320 篇 | 评论 4 次
最新文章

最新留言