小编bla*_*ger的帖子

Gradle Android插件 - 添加自定义风味属性?

有没有办法在android插件中为gradle添加自定义属性到productFlavor或buildType?我想在buildVariants的配置中有这样的额外灵活性,以便在为buildVariants指定任务时可以检查我的自定义属性.

productFlavors {
    flavorGroups "drm", "storeType"
    googlePlay {
        flavorGroup "storeType"
        buildConfig "public static final String TARGET_STORE = \"google\";"
    }
    samsungApps {
        flavorGroup "storeType"
        buildConfig "public static final String TARGET_STORE = \"samsung\";"
    }

    platformDrm {
        flavorGroup "drm"
    }

    widevineAppDrm {
        flavorGroup "drm"
        minSdkVersion 9
        useWidevineAppDrmLib true
    }
Run Code Online (Sandbox Code Playgroud)

}

所以在这里你可以看到我添加了自定义属性"useWidevineAppDrmLib"来构建风味.在buildVariant.mergedFlavor中看到相同的属性会很高兴,这样我就可以检查该属性值并构建其他任务,例如在属性设置为true时打包附加的.so文件:

android.applicationVariants.each { variant -> if(variant.mergedFlavor.useWidevineAppDrmLib ) { ... // add copy .so task } }

也许有一种方法可以做到这一点,但我还没有发现...检查子串(味道名称)的构建变体名称对我有用,但它看起来很脏.

理想情况下,我想为buildType和productFlavor提供不同类型的自定义属性的映射.

android gradle

19
推荐指数
2
解决办法
7059
查看次数

标签 统计

android ×1

gradle ×1