参考链接:Flutter官网
参考链接:Flutter项目打包生成APK
参考链接:Flutter - Android打包与发版
一、打包
1. 创建一个用于上传的密钥库
- 命令行输入以下指令创建(已创建可跳过)
- 该命令将会把 upload-keystore.jks 文件储存在你的主文件夹中
keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA \
-keysize 2048 -validity 10000 -alias upload
![](https://img.haomeiwen.com/i13327555/09f428b85a07fec1.png)
2. 从 app 中引用密钥库
创建一个名为 [project]/android/key.properties 的文件,它包含了密钥库位置的定义。粘贴以下内容:
storePassword=123456
keyPassword=123456
keyAlias=upload
storeFile=/Users/caiyajie/upload-keystore.jks
3. 配置/android/app/build.gradle文件
在 android 代码块之前将你 properties 文件的密钥库信息添加进去
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {...
在 buildTypes 代码块上方添加签名配置,并替换buildTypes
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
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.release
}
}
现在,Flutter 会在所有 release 版本上签名;当你更改 gradle 文件后,也许需要运行一下 flutter clean。这将防止缓存的版本影响签名过程。
4. 打包apk
- 命令行切换到工程目录,执行flutter build apk
cd /Users/caiyajie/AndroidStudioProjects/xsapp
flutter build apk
-
或者在AndroidStudio中操作
截屏2024-05-18 13.10.58.png
网友评论