问题描述
我试图通过运行 Flutter build appbundle --release
在 flutter doc 的帮助下制作应用程序包,但我总是收到此错误:
任务“:app:validateSigningrelease”执行失败。 密钥库文件 'C:\Users\MY_NAME\FlutterProjects\gym\android\app\Users\MY_NAME\key.jks' 未找到用于签署配置“发布”。
我已经尝试了许多其他人here、here 和许多其他人回答的方法,但没有一个对我有帮助。
我用这个命令来构建密钥库
C:\Program Files\Android\Android Studio\jre\bin\keytool -genkey -v -keystore C:\Users\MY_NAME\FlutterProjects\gym\key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias key
和保存在该路径 C:\Users\MY_NAME
我的 build.gradle 看起来像这样:
...
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('app/key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
...
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
...
signingConfig signingConfigs.release
P.S:我什至将 key.properties 文件放在 /android
和 /android/app
下,属性如下
但结果与上述错误相同
storePassword=MY_PWD
keyPassword=MY_PWD
keyAlias=key
storeFile=/Users/MY_NAME/key.jks
解决方法
尝试在 key.properties 文件中提供完整路径。即
storePassword=MY_PWD
keyPassword=MY_PWD
keyAlias=key
storeFile=C:/Users/MY_NAME/key.jks