Что я хочу сделать, это создать 6 различных вариантов, каждый с небольшим изменением AndroidManifest. Данные рассчитываются динамически, поэтому я не могу просто поместить их в variant/AndroidManifest.xml
вручную.
Когда я запускаю скрипт сборки для определенного варианта, скажем, «TinyDebug», он не делает то, что мне хотелось бы. В этом случае я бы хотел, чтобы он имел код версии 1501.
Я сильно отредактировал здесь скрипт, чтобы сделать его более читабельным. Из-за сложности вычислений данных я предпочел бы иметь их в задаче (от которой зависит задача инициализации).
Вопрос. Почему в AndroidManifest неверно рассчитывается version_code? Как мне выполнить мои расчеты, чтобы они могли учесть вкус и передать свои результаты в AndroidManifest.xml
?
build.gradle
def int version_code_suffix = -1 //-1 means it is erronous or unset
task initialize{
doFirst{
android.productFlavors.tiny {
version_code_suffix = 1
}
}
}
android {
productFlavors {
tiny {
versionCode 1500 + version_code_suffix
}
}
tasks.whenTaskAdded { task ->
if (task.name == 'processTinyDebugResources') {
task.dependsOn initialize
}
}
}
AndroidManifest.xml после сборки (должно быть 1501)
android:versionCode = 1499