在Gradle的Android插件中,是否有一种方法可以向productFlavor或buildType添加自定义属性?我希望在构建变体的配置中具有这种额外的灵活性,以便在为构建变体指定任务时可以检查我的自定义属性。
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
}
所以在这里,您可以看到我已经向构建变体添加了自定义属性"useWidevineAppDrmLib"。 希望能够在buildVariant.mergedFlavor中看到相同的属性,以便我可以检查该属性值并执行其他构建任务,例如在将属性设置为true时打包额外的.so文件:
android.applicationVariants.each { variant ->
if(variant.mergedFlavor.useWidevineAppDrmLib ) {
... // 添加复制 .so 的任务
}
}
也许已经有一种方法可以做到这一点,但我还没有找到...... 对于我来说,检查构建变体名称是否包含子字符串(flavor名称)是有效的,但看起来很杂乱。
理想情况下,我希望拥有不同类型自定义属性的构建类型和产品风味映射。