使用 Flutter 完成移动端 App 项目开发后,首次打包的步骤稍感复杂,但熟悉后也可轻车熟路。经总结整个过程可分为四个步骤,即:创建 jks 密匙库丨添加 properties 并指定 jks丨更新 gradle 并指定 properties丨执行 apk 生成命令
第一步:创建 jks 密匙库
在 Studio Terminal 对话框内输入 keytool
命令,其中 -keystore E:/key.jks
表示存储位置,-validity 10000
表示有效期单位是【天】,-alias key
表示别名。确认无误后回车
keytool -genkey -v -keystore E:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
- 1
填写密码及其它所需的详细信息后,需要确认填写信息,输入字母 y
表示【确定】,输入 n
则会要求重新填写所有信息。之后回车
输入密钥库口令:(设置密码) 再次输入新口令:(重复密码) 您的名字与姓氏是什么? [Unknown]: xxx 您的组织单位名称是什么? [Unknown]: xxx 您的组织名称是什么? [Unknown]: xxx 您所在的城市或区域名称是什么? [Unknown]: xxx 您所在的省/市/自治区名称是什么? [Unknown]: xxx 该单位的双字母国家/地区代码是什么? [Unknown]: china CN=xxx, OU=xxx, O=xxx, L=xxx, ST=xxx, C=china是否正确? [否]: y
生成完成后找到相应本地目录可获取 .jks 文件
正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 10,000 天): CN=xxx, OU=xxx, O=xxx, L=xxx, ST=xxx, C=china 输入 <key> 的密钥口令 (如果和密钥库口令相同, 按回车): [正在存储E:/key.jks]
第二步:添加 properties 并指定 jks
在 android 目录下创建 key.properties 并配置 storePassword
(密匙库密码)、keyPassword
(密匙密码)、keyAlias
(别名)、storeFile
(jks文件地址)
添加如下四项配置信息,无需''
或""
,在 =
号后直接填写即可
storePassword=xxxx keyPassword=xxxx keyAlias=xxxx storeFile=xxxx
第三步:更新 gradle 并指定 properties
在 android -> app -> build.gradle 文件中 android {
标签前增加 key.properties 文件解析地址
def keystorePropertiesFile = rootProject.file("key.properties") def keystoreProperties = new Properties() keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android { // 省略 }
第四步:执行 apk 生成命令
在 Studio Terminal 内输入命令 flutter build apk
,稍等片刻等待 apk 生成。生成成功后即可在 build -> app -> outputs -> apk 文件夹中获取最终打包出来的 apk 文件安装试用
D:\flutterUtils\**************************>flutter build apk Initializing gradle... 1.2s Resolving dependencies... 5.5s Running Gradle task 'assembleRelease'... 26.1s Built build\app\outputs\apk\release\app-release.apk (14.3MB).
常见问题
error:flutter 不是内部或外部命令,也不是可运行的程序,或批处理文件。
环境变量未配置或未配置正确。打开 我的电脑 -> 高级系统设置 -> 环境变量 -> 用户变量 增加或检查以下三个变量
PATH
:本地 flutter bin 目录路径
PUB_HOSTED_URL
:https://pub.flutter-io.cn(固定,国内需设置)
FLUTTER_STORAGE_BASE_URL
:https://storage.flutter-io.cn(固定,国内需设置)
其中 PATH
若已存在则在尾部添加 ;
后追加即可,不存在则新建用户变量并添加
常见问题
error:Execution failed for task ‘:app:validateSigningRelease’.
检查 key.properties 文件中 .jks 的地址配置的是否正确,且 windows 系统下需要将 .jks 地址中的 \
替换为 /