Как мне указать signatureConfigs для разных вариантов продукта с размерами аромата?
Это было задано ранее (например, подписка Gradle со вкусами и размерами), но ответы, похоже, не работают с Gradle 3.5.
С двумя размерами флейвора я указываю signatureConfigs для каждого варианта выпуска следующим образом:
signingConfigs {
klondikeGoogleRelease
...
pyramidGoogleRelease
pyramidAmazonRelease
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
}
}
applicationVariants.all { variant ->
def flavors = variant.productFlavors
variant.mergedFlavor.setApplicationId flavors[0].ext.applicationId + flavors[1].ext.applicationIdSuffix
if (variant.buildType.name == "release") {
variant.mergedFlavor.setSigningConfig android.signingConfigs[variant.name]
}
println "Mergedflavor: ${variant.name} signing ${variant.signingConfig.name} ready ${variant.signingReady}"
}
Этого достаточно для gradle signingReport
сообщить правильные настройки, но gradle assemblePyramidGoogleRelease
(например) создаст неподписанный apk.
Это пропускает validateSigningPyramidGoogleRelease
задание, которое отражено в результатах gradle tasks --all
вывод, который не перечисляет validateSigning*
для любого из *Release
варианты.
1 ответ
Вы можете установить конфигурацию подписи перед задачей пакета
отображение имени задачи пакета с вашими вкусами и типами buldTypes
project.afterEvaluate {
tasks.findByName("packageFlavorBuildType").doFirst {
packageFlavorBuildType.setSigningConfig(signingConfigs.yourKeyConfig)
}
}