使用Android Studio对Flutter应用打包
生成签名文件
如果您有现有keystore,请跳至下一步。如果没有,请通过在运行以下命令来创建一个: keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
或者
keytool -genkey -dname "CN=Name, OU=Unit, O=Organization, L=City, ST=Province, C=Country" -alias Android -keyalg RSA -validity 2000 -keystore Android.keystore -storepass 123456789 -keypass 123456789
说明:
CN=Name, 您的姓名
OU=Unit, 您的单位
O=Organization, 您的组织
L=City, 您的城市
ST=Province, 您的省份
C=Country, 您的国家
-alias Android , 证书别名
-keyalg RSA, 秘钥加密算法
-validity 2000 有效期(天数)
-keystore Android.keystore 秘钥文件全称[生成],要求绝对存储路径,如:D:\Android\Android.keystore
-storepass 123456789 密钥库存储密码
-keypass 123456789 秘钥专用密码
注意:保持文件私密; 不要将它加入到公共源代码控制中。
注意: keytool可能不在你的系统路径中。它是Java JDK的一部分,它是作为Android Studio的一部分安装的。有关具体路径,请百度。
我这里生成的签名文件地址为:<app dir>/android/key.jks>
引用应用程序中的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>
在gradle中配置签名
通过编辑<app dir>/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
本节介绍如何构建发布版(release)APK。如果您完成了前一节中的签名步骤,则会对APK进行签名。
使用命令行:
cd <app dir>
(<app dir>
为您的工程目录).- 运行
flutter build apk
(flutter build
默认会包含--release
选项).
打包好的发布APK位于<app dir>/build/app/outputs/apk/app-release.apk
。
在设备上安装发行版APK
按照以下步骤在已连接的Android设备上安装上一步中构建的APK
使用命令行:
- 用USB您的Android设备连接到您的电脑
cd <app dir>
.- 运行
flutter install
.
或者使用命令:adb install (release应用路径)
参考文章: