Множество signatureConfigs для нескольких вариантов
Как я могу установить разные конфиги подписи для разных вариантов?
Например, в настоящее время у нас есть Debug / Beta / Release сборок с двумя вариантами, бесплатными и платными, что дает 6 вариантов. Чтобы сделать это немного проще, давайте забудем варианты отладки и сосредоточимся только на freeBeta / paidBeta / freeRelease / paidRelease.
То, что я хотел бы, для каждого варианта использовать отдельную подпись Config.
Пока что единственное решение, которое я смог найти, - это поместить signatureConfigs в buildTypes, чтобы все бета-варианты имели одинаковые signatureConfigs:
buildTypes {
beta {
signingConfigs.beta
}
release {
signingConfigs.release
}
}
В качестве альтернативы можно использовать варианты, и в этом случае все бесплатные варианты будут иметь одинаковые signatureConfigs:
productFlavors {
free {
signingConfig signingConfigs.free
applicationId 'com.example.free'
}
paid {
signingConfig signingConfigs.paid
applicationId 'com.example.paid'
}
}
Есть ли способ сделать это в текущем закрытии productFlavor? Это может быть исправлено только путем переопределенияandroid.applicationVariants.all { variant ->
и вручную применять signatureConfig для каждого варианта приложения на основе какой-либо схемы именования или какого-либо другого уродливого хака?
Я также нашелэтот ответ, но это не работает в последних инструментах сборки; при компиляции я получаю следующую ошибку:
FAILURE: сборка не удалась, исключение.
Где: строка файла сборки /home/dev/projects/app/build.gradle: 61
Что пошло не так: возникла проблема при оценке проекта «: приложение».
Не удалось найти свойство 'free' в контейнере ProductFlavor.