【发布时间】:2020-03-24 07:52:58
【问题描述】:
我用过这个命令
keytool -genkey -v -keystore ~/nutella.jks -keyalg RSA -keysize 2048 -validity 10000 -alias nutella
生成密钥库。它工作正常,但从我读过的内容来看,这个命令还应该提示您输入密钥密码(而不是商店密码)?我从来没有得到这个提示。 我可以跑
keytool -v -list -keystore //nutella.jks
查看密钥库的内容。钥匙似乎在那里......即正确的别名在那里。 我在哪里获取/设置特定别名的密码?
我在android目录中有一个key.properties
storePassword=password
keyPassword=password
keyAlias=ballotbox
storeFile=/Users/gerardhorgan/ballotbox.jks
在 build.gradle 我有:
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
compileSdkVersion 28
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "app.ballotbox.app"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
当我尝试生成发布版本时,我得到了
Execution failed for task ':app:validateSigningRelease'.
> Keystore file not set for signing config release
我认为它可能与 keyPassword 有关,因为我没有设置它并在可以使用 storePassword 的地方阅读。
`
【问题讨论】: