Próbuję utworzyć konfigurację Flavor, aby uniknąć standardowego kodu w każdym pliku gradle modułu i biblioteki.
W tym celu próbuję przekonwertować rozwiązanie Piotra Zawadzkiego (https ://medium.com/stepstone-tech/modularizing-your-flavored-android-project-5db75c59fb0d), która wykorzystuje metodę groovy with() w połączeniu z zamknięciem zawierającym konfigurację smaku.
ext.flavorConfig = { // 1
flavorDimensions "pricing"
productFlavors {
free {
dimension "pricing"
ext.myApplicationIdSuffix = '.free' // 2
}
paid {
dimension "pricing"
ext.myApplicationIdSuffix = '.paid'
}
}
productFlavors.all { flavor -> // 3
if (flavor.hasProperty('myApplicationIdSuffix') && isApplicationProject()) {
flavor.applicationIdSuffix = flavor.myApplicationIdSuffix
}
}
}
def isApplicationProject() { // 4
return project.android.class.simpleName.startsWith('BaseAppModuleExtension')
// in AGP 3.1.x with library modules instead of feature modules:
// return project.android instanceof com.android.build.gradle.AppExtension
}
To, czego nie znajduję, to odpowiednik metody () dla Kotlin DSL lub właściwy sposób przetłumaczenia Closure.
1 odpowiedź
Podobne pytania
Nowe pytania
android
Android to mobilny system operacyjny Google, używany do programowania lub tworzenia urządzeń cyfrowych (smartfony, tablety, samochody, telewizory, Wear, Glass, IoT). W przypadku tematów związanych z Androidem użyj tagów specyficznych dla Androida, takich jak android-intent, android-activity, android-adapter itp. W przypadku pytań innych niż programowanie lub programowanie, ale związanych ze strukturą Androida, użyj tego linku: https: // android.stackexchange.com.