先找到 keytool.exe的安装位置,执行命令

    1. flutter doctor -v

    image.png
    大概在这个地方下面的jre/bin文件夹下有个keytool.exe,然后执行命令:

    1. D:\Program Files\Android\Android Studio\jre\bin\keytool -genkey -v -keystore E:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
    1. 输入密钥库口令:
    2. 再次输入新口令:
    3. 您的名字与姓氏是什么?
    4. [Unknown]: abc
    5. 您的组织单位名称是什么?
    6. [Unknown]: fer
    7. 您的组织名称是什么?
    8. [Unknown]: fer
    9. 您所在的城市或区域名称是什么?
    10. [Unknown]: shanghai
    11. 您所在的省/市/自治区名称是什么?
    12. [Unknown]: pudong
    13. 该单位的双字母国家/地区代码是什么?
    14. [Unknown]: CN
    15. CN=abc, OU=fer, O=fer, L=shanghai, ST=pudong, C=CN是否正确?
    16. [否]: y
    17. 正在为以下对象生成 2,048 RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 10,000 天):
    18. CN=abc, OU=fer, O=fer, L=shanghai, ST=pudong, C=CN
    19. 输入 <key> 的密钥口令
    20. (如果和密钥库口令相同, 按回车):
    21. [正在存储E:\key.jks]
    22. Warning:
    23. JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore E:\key.jks -destkeystore E:\key.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12

    输入你的密码什么的之后会在E盘下创建一个key.jks文件。

    配置项目key注册
    到项目目录下的android文件夹下,创建一个名为key.properties的文件,并打开粘贴下面的代码(密码就是我们刚才输入的密码)

    1. storePassword=12345678
    2. keyPassword=12345678
    3. keyAlias=key
    4. storeFile=E:/key.jks

    进入项目目录的/android/app/build.gradle文件,在android {这一行前面,加入如下代码:

    1. def keystorePropertiesFile = rootProject.file("key.properties")
    2. def keystoreProperties = new Properties()
    3. keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

    把如下代码进行替换

    1. buildTypes {
    2. release {
    3. signingConfig signingConfigs.debug
    4. }
    5. }

    替换成的代码:

    1. signingConfigs {
    2. release {
    3. keyAlias keystoreProperties['keyAlias']
    4. keyPassword keystoreProperties['keyPassword']
    5. storeFile file(keystoreProperties['storeFile'])
    6. storePassword keystoreProperties['storePassword']
    7. }
    8. }
    9. buildTypes {
    10. release {
    11. signingConfig signingConfigs.release
    12. }
    13. }