赞
踩
打包APP需要生成 keystore,但是官方给的说法很坑爹,
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
运行命令直接报错了
解决这个问题我们需要先找到 keytool.exe的安装位置,执行命令
flutter doctor -v
大概在这个地方下面的jre/bin文件夹下有个keytool.exe,然后执行命令:
E:\Program Files\Android\Android Studio\jre\bin\keytool -genkey -v -keystore E:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
然而又报错了,
文件夹名有空格识别不了我去。。。加上引号:
E:\'Program Files'\Android\'Android Studio'\jre\bin\keytool -genkey -v -keystore E:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
输入你的密码什么的之后会在E盘下创建一个key.jks文件。
配置项目key注册
到项目目录下的android
文件夹下,创建一个名为key.properties的文件,并打开粘贴下面的代码(密码就是我们刚才输入的密码)
- storePassword=111111
- keyPassword=111111
- keyAlias=key
- storeFile=E:/key.jks
进入项目目录的/android/app/build.gradle文件,在android {
这一行前面,加入如下代码:
- def keystorePropertiesFile = rootProject.file("key.properties")
- def keystoreProperties = new Properties()
- keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
把如下代码进行替换
- buildTypes {
- release {
- signingConfig signingConfigs.debug
- }
- }
替换成的代码:
- signingConfigs {
- release {
- keyAlias keystoreProperties['keyAlias']
- keyPassword keystoreProperties['keyPassword']
- storeFile file(keystoreProperties['storeFile'])
- storePassword keystoreProperties['storePassword']
- }
- }
- buildTypes {
- release {
- signingConfig signingConfigs.release
- }
- }
最后执行命令
flutter build apk
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。