利用Flutter做成应用10:打包应用
生成秘钥文件
要想把app发布到Play store,需要给app一个数字签名。
在windows,[project]/android/app下执行下面的代码:
keytool -genkey -v -keystore .\Beauty.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias Beauty
输入密码等信息,即可生成秘钥文件Beauty.jks,需要保持这个文件的私有性。 该命令会有一个Warning,建议迁移到PKCS12格式。
执行下面的代码,将Beauty.jks转换为PKCS12格式,原文件会备份成old格式。
keytool -importkeystore -srckeystore .\Beauty.jks -destkeystore .\Beauty.jks -deststoretype pkcs12
使用下面的命令可以查看秘钥文件的相关信息。
keytool -list -v -keystore .\Beauty.jks
在app中配置秘钥文件
在[project]/android/创建文件key.properties,它包含了密钥文件相关的定义:
storePassword=******
keyPassword=******
keyAlias=Beauty
storeFile=./Beauty.jks
该文件也需要保持私有性。
修改[project]/android/app/build.gradle文件,以通过gradle配置你的上传密钥。
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
//signingConfig signingConfigs.debug
signingConfig signingConfigs.release
}
}
}
之后编译发布版本就会自动签名了。
构建发布版本
Android Studio中,使用Build->Flutter->Build App Bundle即可。 发布到Play Store时,推荐使用App bundle格式。
如需要更新版本,修改pubspec.yaml中的version值,再重新构建即可。