Можно ли добавить пользовательские атрибуты в productFlavor или buildType в плагин android для gradle? Я хотел бы иметь такую дополнительную гибкость в настройке 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, чтобы я мог проверить это значение атрибута и строить дополнительные задачи, такие как дополнительные .so файлы пакета, когда для атрибута установлено значение true:
android.applicationVariants.each { variant ->
if(variant.mergedFlavor.useWidevineAppDrmLib ) {
... // add copy .so task
}
}
Может быть, есть способ сделать это уже, но я еще не узнал... проверка имени варианта сборки для подстроки (название аромата) работает для меня, но выглядит грязно.
В идеале я хотел бы иметь карту пользовательских атрибутов разных типов для buildType и productFlavor.