1.生成 keystore (在执行指令窗口中输入)
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
2.如果报错(在执行指令窗口中输入)
flutter doctor -v
3.在打印出来的信息中找到类似以下的字符串
D:\Program\Android\'Android Studio'\jre\bin
4.在和第一步指令拼接使用,类似如下
D:\Program\Android\'Android Studio'\jre\bin\keytool -genkey -v -keystore
D:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
备注: key.jks前需要改成存在的盘符
5.如果不报错就执行以下指令,报盘符不存在,就修改.jks前面的路径,如下
keytool -genkey -v -keystore G:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
6.根据提示生成key
7.项目目录下android项目根目录文件夹下,创建一个名为key.properties的文件,粘贴以下代码
storePassword=123123 //输入上一步创建KEY时输入的 密钥库 密码 备注最后删除
keyPassword=123123 //输入上一步创建KEY时输入的 密钥 密码 备注最后删除
keyAlias=key
storeFile=D:/key.jks //key.jks的存放路径 备注最后删除
8.进入项目目录的/android/app/build.gradle文件,在android{这一行前面,加入如下代码
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
9.把如下代码进行替换
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
10.直接在终端中输入
flutter build apk