GBR*_*X94 6 android gradle kotlin android-productflavors
我正在尝试创建一个 Flavor 配置以避免每个模块和库 gradle 文件中出现样板代码。
为此,我尝试转换 Piotr Zawadzki 解决方案(https://medium.com/stepstone-tech/modularizing-your-flavored-android-project-5db75c59fb0d),该解决方案使用 groovy with() 方法与包含的闭包相结合风味配置。
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
}
Run Code Online (Sandbox Code Playgroud)
我没有找到 Kotlin DSL 的等效 with() 方法或翻译闭包的正确方法。
| 归档时间: |
|
| 查看次数: |
761 次 |
| 最近记录: |