有没有办法在 gradle 的 android 插件中向 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
}
}
所以在这里你可以看到我添加了自定义属性“useWidevineAppDrmLib”来构建风味。很高兴在 buildVariant.mergedFlavor 中看到相同的属性,这样我就可以检查该属性值并构建其他任务,例如在属性设置为 true 时打包其他 .so 文件:
android.applicationVariants.each { variant ->
if(variant.mergedFlavor.useWidevineAppDrmLib ) {
... // add copy .so task
}
}
也许已经有办法做到这一点,但我还没有发现......检查子字符串(风味名称)的构建变体名称对我有用,但它看起来很脏。
理想情况下,我希望为 buildType 和 productFlavor 提供不同类型的自定义属性的映射。