FLUTTER打release包的一种可行操作(安卓)
目的
使用flutter编写好程序发布时我们需要使用release包而不是debug包,我在打包时遇见了一些坑,但总算解决了,在此记录与大家分享。
使用AS打开你的项目
开始工作
(1)在新打开的窗口中找到这个文件
(2). 跟下列图操作
若没有jks文件就新建一个
选择路径,推荐保存在你项目目录下的 \android\app路径下
输入jks文件名称(我在这里以demo为例)
选择这两项
然后回到咱们一开始打开的文件在buildTypes前面添加如下代码(注意更改你们的路径,别名,密码)。
signingConfigs{
debug{
storeFile file("demo.jks")
storePassword "123456"
keyAlias "key0"
keyPassword "123456"
}
release{
storeFile file("demo.jks")
storePassword "123456"
keyAlias "key0"
keyPassword "123456"
}
}
如下
然后再将buildTypes中代码改为下面的形式(可直接复制粘贴)。
buildTypes {
release {
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.release
}
debug {
signingConfig signingConfigs.debug
}
}
保存后就可以了。
随便说一下,在defaultConfig中我们可以拿到app的包名,对以后获取app签名有用,在此就不再展开说明。
最后就可以回到我们的flutter项目下,执行flutter build apk 命令就可以了
在你的项目目录下可以找到release目录,此目录下的app-release.apk文件就是我们所需要的文件。
此篇文章是面对flutter的初学者,希望大家有收获。
大致是这几个步骤:
1.命令行生成key.jks文件;
2.在flutter项目中,android文件夹下进行相关配置,需配置的地方有:
--新建key.properyties文件,配置
storePassword=秘钥库密码
keyPassword=秘钥密码
keyAlias=key
storeFile=秘钥完整路径
--app/build.gradle文件中
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
3.生成apk:flutter build apk
flutter build apk --target-platform android-arm,android-arm64 --split-per-abi
4.安装apk:flutter install