1.创建Key
确认已安装java和flutter。我的java安装在D:\Program Files\java\jre\bin,首先进入到这个文件夹内,否则你创建key时,会提示'keytool' 不是内部或外部命令,也不是可运行的程序或批处理文件。如果已有key,跳过此步骤,没有的,执行下面命令
keytool -genkey -v -keystore D:/key/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
复制
- -genkey 生成秘钥
- -alias 别名
- -keyalg 秘钥算法
- -keysize 秘钥长度
- -validity 有效期
- -keystore 生成秘钥库的存储路径和名称
2.填写密钥内容
出现下图即为创建成功
查看证书
keytool -list -v -keystore D:\key\key.jks -alias key -storepass 123456 -keypass 123456
复制
3.创建key.properties
在android目录下创建一个key.properties文件 输入以下代码,保存一下。
storePassword= 刚刚创建密钥库时的密码 keyPassword= 刚刚创建密钥的密码keyAlias=keystoreFile=D:/key/key.jks
复制
4.build.gradle文件修改
上图三个地方需要修改
1.在android前加入
def keystorePropertiesFile = rootProject.file("key.properties") def keystoreProperties = new Properties() keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
复制
2.android里面加入
signingConfigs { release { keyAlias "key" keyPassword "刚刚创建密钥库时的密码" storeFile file("D:/key/key.jks") storePassword "刚刚创建密钥库时的密码" } }
复制
3.android里面修改buildTypes
buildTypes { release { signingConfig signingConfigs.release minifyEnabled true useProguard true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
复制
这里面有个坑,signingConfigs这里面配置我按照教程写法,死活打包不成功。一直报这个错
5.打包
flutter build apk
复制
我们的apk文件保存在Flutter文件夹的build\app\outputs\apk\release\app-release.apk 目录下。