小编GBR*_*X94的帖子

如何在BuildSrc中创建FlavorConfig?

我正在尝试创建一个 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 …
Run Code Online (Sandbox Code Playgroud)

android gradle kotlin android-productflavors

6
推荐指数
1
解决办法
761
查看次数

标签 统计

android ×1

android-productflavors ×1

gradle ×1

kotlin ×1