Step-1 Java 路径

找到java路径, 可使用【flutter doctor -v】

Step-2: 进入目录

找到路径后 C:\Program Files\Java\jre1.8.0_231\bin> 进入bin目录.

Step-3: 执行命令

执行命令: keytool -genkey -v -keystore C:\keys\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key (其中C:\keys\key.jks是存放key的目录和文件)

Step-4: 按照提示输入

输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: su
您的组织单位名称是什么?
[Unknown]: vh
您的组织名称是什么?
[Unknown]: vh
您所在的城市或区域名称是什么?
[Unknown]: dl
您所在的省/市/自治区名称是什么?
[Unknown]: ln
该单位的双字母国家/地区代码是什么?
[Unknown]: cn
CN=su, OU=vh, O=vh, L=dl, ST=ln, C=cn是否正确?
[否]: y 正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 10,000 天):
CN=su, OU=vh, O=vh, L=dl, ST=ln, C=cn
输入 <key> 的密钥口令
(如果和密钥库口令相同, 按回车):
再次输入新口令:
[正在存储C:\keys\key.jks]

Step-5: 创建 key.properties

到项目的android文件夹下( \your_project_name\android),将下列代码粘贴到文件中

storePassword=<password from previous step>    //输入上一步创建KEY时输入的 密钥库 密码
keyPassword=<password from previous step> //输入上一步创建KEY时输入的 密钥 密码
keyAlias=key
storeFile=<D:/key.jks> //key.jks的存放路径

Step-6 配置build gradle

进入项目目录的/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
}
}

Step-7 打包生成

flutter build apk

Initializing gradle...                                              1.6s
Resolving dependencies... 6.4s
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done 10.0s
Built build\app\outputs\apk\release\app-release.apk (6.0MB).
05-27 06:10