Gradle assinando sabores com chaves diferentes no Android
Eu tenho muitos sabores do meu aplicativo Android eQuero que todos, exceto um, usem a mesma chave. Há um que precisa usar uma chave diferente.
Como faço para substituir osigningConfig
por apenas 1 versão do aplicativo (mas dentro do mesmo tipo de build, por exemplo, "release")?
gradlew assembleRelease
comandoEste último ponto é importante, pois atualmente tenho mais de 120 sabores diferentes e em crescimento. Para personalizar todos os sabores individualmente, é preciso muito trabalho extra.
Posts relacionados Eu tentei:
Produzindo várias construções assinadas com chaves diferentes do tipo de construção única
isso requer configuração para cada saborparece que não usa meu costumesigningConfig
de qualquer formaAssinatura de sabores de produtos com gradle
solução aceita não funciona (para mim)de acordo comum comentário isso é possível colocandobuildTypes
dentro deproductFlavors
mas eu não entendo como fazer isso.Configuração de assinatura de depuração nos sabores do produto Gradle
como explicado na postagem do blog:Construindo várias edições de um aplicativo Android com Gradleisso não funciona na verdadefunciona perfeitamentemas não escala bem para 119 saboresNo geral, cada solução ainda parece usar a configuração padrão da versão, em vez da minha configuração personalizada.
Partes importantes do meubuild.gradle
parece com isso:
signingConfigs {
releaseConfig {
storeFile file('key')
storePassword "pass"
keyAlias "alias"
keyPassword "pass"
}
custom {
storeFile file('custom_key')
storePassword "pass"
keyAlias "alias"
keyPassword "pass"
}
}
productFlavors {
apple {
applicationId "demo.apple"
}
banana {
applicationId "demo.banana"
}
// def customConfig = signingConfigs.custom
custom {
applicationId "custom.signed.app"
// signingConfig customConfig
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
}
release {
signingConfig signingConfigs.releaseConfig
// productFlavors.custom.signingConfig signingConfigs.custom
}
}