我有一个应用程序的 11 种风格和一个应用程序的密钥库。我希望使用一个密钥库来签署多种产品风格,如下所示。
signingConfigs {
release {
storeFile file("Users/avalon/retailr.jks")
storePassword storePassword
keyAlias "alias"
keyPassword keyPassword
}
}
...
...
productFlavors{
flavorone {
...
signingConfig signingConfigs.release
}
flavortwo {
...
signingConfig signingConfigs.release
}
}
但是,在运行 The apk for your currently selected variant cannot be signed. Please specify a signing configuration for this variant (flavorone-release)
的配置期间,我不断收到错误消息。这是否意味着我必须为应用程序进行 11 种不同的密钥库配置,或者有什么方法可以使用吗?
回答1
你试过这样吗?
signingConfigs {
configFlavor1 {
keyAlias 'abcdef'
keyPassword 'password'
storeFile file('keystore.jks')
storePassword 'password'
}
configFlavor2 {
keyAlias 'abcdef'
keyPassword 'password'
storeFile file('keystore.jks')
storePassword 'password'
}
}
然后在
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
productFlavors.flavor1.signingConfig signingConfigs.configFlavor1
productFlavors.flavor2.signingConfig signingConfigs.configFlavor2
}
回答2
您不必为每个变体添加多个配置。在 app/build.gradle 中,您可以在构建类型中提及,如下所示
buildTypes {
release {
signingConfig signingConfigs.release
}
}
在您的 signinconfig 部分中,您可以拥有以下内容
signingConfigs {
release {
keyAlias 'keyAlias'
keyPassword 'keyPassword'
storePassword 'storePassword'
storeFile file("${rootDir}/keystores/app.keystore")
}
}