错误提示我没有设置 signingConfig.release.keyPassword,但是我正在设置它。
我已经尝试对密码进行硬编码,而不是从 key.properties 文件中检索它,但这没有帮助。
// build.gradle file
// ... the rest of the build code
android {
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
试试这个:在
build.gradle(Module: app)
// ... the rest of the build code
android {
signingConfigs {
release {
storeFile file('your_key_store_path')
storePassword 'your_store_password'
keyAlias = 'your_key_alias'
keyPassword 'your_key_password'
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
您也可以在
Signing Configs
中创建Android Studio
:File
> Project Structure
> 选择 Modules
> 选择 Signing Configs
。
在 Signing Configs
中,已经创建了 debug
配置,但您可以通过按 +
图标创建一个新配置。
就我而言,我使用了一台新电脑和
[project]/android/key.properties
file 丢失了,因为我将它添加到
.gitignore
因此它不在存储库中。它有这种形式:https://docs.flutter.dev/deployment/android#reference-the-keystore-from-the-app
在窗口中尝试将路径写为
C:\\Users\\<Your user folder>\\upload-keystore.jks
重要的注意事项是路径中的“\”。
我已经从 github 中提取了 repo,这个项目没有 key.properties 文件。这是造成这种情况的主要原因。现在我创建一个新文件key.properties.
storePassword=12345
keyPassword=12345
keyAlias=upload
storeFile=/Users/rahulkushwaha/Desktop/pppp/upload-keystore.jks
我有一个类似的问题(在我的例子中,错误是:SigningConfig“release”缺少必需的属性“storeFile”)但根本原因是一样的:我错过了
[project]/android/key.properties
文件,正如 Rahul Kushwaha 所指出的(非常感谢,先生!)
我想分享的是一个提示:如果你在 build.gradle 文件中存储机密信息(例如密码),你应该将它添加到 .gitignore,但我认为这不是一个好主意。因此,正如 Rahul 建议的那样,检查 key.properties 是否丢失或位置错误。
我有一个类似的问题(在我的例子中,错误是:SigningConfig“release”缺少必需的属性“storeFile”)所以我通过确保以下内容解决了这个问题
应用级构建
build.gradle
release {
if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
}
上述属性(例如 MYAPP_UPLOAD_STORE_FILE)与此文件 gradle.properties 中的以下属性匹配
在android文件夹中
gradle.properties
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
确保两个键都应该匹配,如果它们不匹配则应该提示错误