App簽名
創建 keystore
如果您有現有keystore,請跳至下一步。如果沒有,請通過在運行以下命令來創建一個:
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
注意:
- 保持文件私密; 不要將它加入到公共源代碼控制中。
- 此操作生成的簽名是*.jks格式
引用應用程序中的keystore
創建一個名為/android/key.properties的文件,其中包含對密鑰庫的引用:
storePassword=<創建keystore時的storePassword> keyPassword=<創建keystore時的keyPassword> keyAlias=key storeFile=<密鑰庫文件的位置 , 例如: /Users/<user name>/key.jks>

注意:
- 保持文件私密; 不要將它加入公共源代碼控制中.
- storeFile 這里要使用絕對路徑
在gradle中配置簽名
通過編輯/android/app/build.gradle文件為您的應用配置簽名
替換:
android {
為:
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
-----------------------------------------------------------------------------------------------------------------------------------------
替換:
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
使用命令行:
cd <app dir> (<app dir> 為您的工程目錄).
運行flutter build apk (flutter build 默認會包含 --release選項).
可直接使用編輯器中的Terminal運行 flutter build apk 命令.
打包好的發布APK位於/build/app/outputs/apk/app-release.apk
