先找到 keytool.exe的安装位置,执行命令
flutter doctor -v
大概在这个地方下面的jre/bin文件夹下有个keytool.exe,然后执行命令:
D:\Program Files\Android\Android Studio\jre\bin\keytool -genkey -v -keystore E:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: abc
您的组织单位名称是什么?
[Unknown]: fer
您的组织名称是什么?
[Unknown]: fer
您所在的城市或区域名称是什么?
[Unknown]: shanghai
您所在的省/市/自治区名称是什么?
[Unknown]: pudong
该单位的双字母国家/地区代码是什么?
[Unknown]: CN
CN=abc, OU=fer, O=fer, L=shanghai, ST=pudong, C=CN是否正确?
[否]: y
正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 10,000 天):
CN=abc, OU=fer, O=fer, L=shanghai, ST=pudong, C=CN
输入 <key> 的密钥口令
(如果和密钥库口令相同, 按回车):
[正在存储E:\key.jks]
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore E:\key.jks -destkeystore E:\key.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
输入你的密码什么的之后会在E盘下创建一个key.jks文件。
配置项目key注册
到项目目录下的android
文件夹下,创建一个名为key.properties的文件,并打开粘贴下面的代码(密码就是我们刚才输入的密码)
storePassword=12345678
keyPassword=12345678
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
}
}