Я конвертирую приложение Android в Gradle Kotlin -DSL, используя файлы Kotlinscript.
У меня проблема с преобразованием нашей applicationId
logi c. Мы не используем defaultConfiguration
с applicationId
плюс различные applicationIdSuffix
для наших вкусов, а персонализированные логи c. Лог c описан в этом SO-ответе , вот код groovy:
flavorDimensions "price", "dataset"
productFlavors {
free { dimension "price" }
paid { dimension "price" }
dataset1 { dimension "dataset" }
dataset2 { dimension "dataset" }
}
android.applicationVariants.all { variant ->
def mergedFlavor = variant.mergedFlavor
switch (variant.flavorName) {
case "freeDataset1":
mergedFlavor.setApplicationId("com.beansys.freeappdataset1")
break
case "freeDataset2":
mergedFlavor.setApplicationId("com.beansys.freedataset2")
break
case "paidDataset1":
mergedFlavor.setApplicationId("com.beansys.dataset1paid")
break
case "paidDataset2":
mergedFlavor.setApplicationId("com.beansys.mypaiddataset2")
break
}
}
С kotlin я не могу изменить applicationId
mergedFlavor
как в groovy. Это значение и поэтому не может быть изменено.
Любое элегантное решение, чтобы решить эту проблему?