忘记Flutter Android Keystore密码并删除后,如何重新生成?
重新生成Flutter Android签名Keystore
生成Keystore文件
keytool是JDK自带的工具,直接用它生成即可:
- 打开终端/命令提示符,确保JDK已安装并配置环境变量(输入
keytool测试是否能正常运行)。 - 执行生成命令,示例如下:
keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
- 参数说明:
-keystore:指定Keystore的存储路径和文件名(Windows用户可以写成C:\Users\你的用户名\upload-keystore.jks)-alias:密钥的别名,务必记住,后续配置会用到-validity:密钥有效期,这里设为10000天,足够覆盖应用生命周期
- 按照终端提示,依次输入Keystore密码、密钥密码(建议和Keystore密码一致)、姓名、组织等信息,确认后即可生成Keystore文件。
配置Flutter项目使用Keystore
- 在Flutter项目的
android/app目录下创建key.properties文件,填入以下内容:
storePassword=你的Keystore密码 keyPassword=你的密钥密码 keyAlias=upload storeFile=../upload-keystore.jks
(storeFile的路径根据你实际存放Keystore的位置调整,比如Keystore放在android目录下就写./upload-keystore.jks)
- 打开
android/app/build.gradle文件,进行以下修改:- 在
android代码块最上方添加:
def keystoreProperties = new Properties() def keystorePropertiesFile = rootProject.file('key.properties') if (keystorePropertiesFile.exists()) { keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) }- 找到
buildTypes代码块,替换为以下内容(保留原有其他配置):
signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null storePassword keystoreProperties['storePassword'] } } buildTypes { release { signingConfig signingConfigs.release // 这里保留你原有的release配置,比如minifyEnabled、proguardFiles等 } } - 在
注意事项
- 生成的Keystore文件和
key.properties务必做好备份,一旦丢失无法恢复,会导致无法更新已发布的应用。
内容的提问来源于stack exchange,提问作者FrostByte
相关产品推荐
相关产品推荐

