赞
踩
上篇记录了Flutter环境搭建,初步创建了一个项目熟悉了一下,然后试着打包了Android安装包,总的来说和一般Android项目差不多,只是Flutter用的全都是命令行完成的,不知道有没有图形化界面的方式,反正我没在studio的Build菜单里找到。
1、生成key.jks
打开你的cmd或者shell
输入命令
keytool -genkey -v -keystore 保存路径/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
最后一个命令那里提示(如果和密钥库口令相同, 按回车),这里我直接点的回车,但是后面用的时候并不是和秘钥库口令一样,建议手动输入,下面细说。
key.jks文件生成了。
2、创建key.properties配置文件
文件放在flutter_app/android/目录下
内容为:
storePassword=123456 秘钥库密码
keyPassword=123456 key密码
keyAlias=key key别名
storeFile=D:/android/android_work_space/demo/flutter_app/key.jks key.jks存放路径
3、配置build.gradle
打开flutter_app/android/app/build.gradle,最外层添加:
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android{
}
里面buildTypes的debug修改为release,另外添加gningConfigs :
buildTypes {
release {
signingConfig signingConfigs.release
}
}
gningConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
4、打包
运行命令打包
flutter build apk
这里我运行的时候报错了:
啥意思呢?
“从存储“D:androidandroid_work_spacedemoflutter_appkey.jks”读取密钥123456失败:在密钥存储D:\androidandroid_work_spacedemoflutter_appkey.jks中没有找到别名“123456”的密钥。”
在步骤1中秘钥口令我输的123456,在最后一步我什么都没输,按说别名应该是123456(问题解决之前步骤2中的keyAlias=123456),但是现在说找不到,然后我通过命令行看了一下key.jks的信息:
PS D:\android\android_work_space\demo\flutter_app> keytool -list -v -keystore key.jks
不是说“如果和秘钥库口令相同按回车”?怎么别名就成key了?不靠谱
然后我就把步骤2中的keyAlias=key了。
再次运行编译打包,成功了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。