我目前的配置如下:
signingConfigs {
alpha_beta {
storeFile xx
storePassword xx
keyAlias xx
keyPassword xx
}
release1 {
storeFile xx
storePassword xx
keyAlias xx
keyPassword xx
}
release2 {
storeFile xx
storePassword xx
keyAlias xx
keyPassword xx
}
}
有不同的口味:
productFlavors {
flavorWhite {
}
flavorBlack {
}
}
和不同的buildTypes:
buildTypes {
debug {
...
signingConfig signingConfigs.alpha_beta
}
release {
...
}
}
我的目标是,对于 RELEASE 版本,我想与 signingConfigs.release1 <签署 flavorWhite / em> , flavorBlack 与 signingConfigs.release2 。
我尝试了我能想到的一切以及我能在网上找到的任何东西,包括 https://groups.google.com/forum/#!topic/adt-dev/3L8I1K_mjuo,Multiple signingConfigs for multiple variants和其他许多人。
我遗失了什么?谢谢!
答案 0 :(得分:1)
我不相信你可以做你所要求的。我的建议是这样做:
buildTypes {
debug {
...
signingConfig signingConfigs.alpha_beta
}
release1 {
...
signingConfig signingConfigs.release1
}
release2 {
...
signingConfig signingConfigs.release2
}
}
这将为您提供以下构建变体:
flavorWhiteDebug
flavorWhiteRelease1
flavorWhiteRelease2
flavorBlackDebug
flavorBlackRelease1
flavorBlackRelease2
然后,您可以添加variantFilter
来摆脱您不想要的变体(例如flavorWhiteRelease2
和flavorBlackRelease1
:
variantFilter { variant ->
if (variant.flavors*.name.contains("flavorWhite")) {
setIgnore(variant.buildType.name == "release2")
} else if (variant.flavors*.name.contains("flavorBlack")) {
setIgnore(variant.buildType.name == "release1")
}
}
有了这个,您的构建变体将是:
flavorWhiteDebug
flavorWhiteRelease1
flavorBlackDebug
flavorBlackRelease2