标准方式来编写gradle任务以添加新的Android产品风格

时间:2014-03-18 06:20:52

标签: android gradle android-gradle android-productflavors

我希望使用自定义Gradle任务自动化Android项目中的风格 例如,使用2个参数实施addFlavor任务:flavorNameflavorLogo。任务应该通过下一步来增加新的味道:

  1. 更新productFlavors文件中的build.gradle部分,为其添加新的风格:

    flavorName {
       buildConfigField 'String', 'PARTNER', '"flavorName"'
       packageName 'com.stackoverflow.askquestion.flavorname'
    }
    
  2. 添加flavor文件夹并将flavorLogo .png文件复制到flavorName/res/drawable-xxhdpi/ic_launcher.png

  3. 使用自定义Gradle任务执行此操作的正确和规范方法是什么?

1 个答案:

答案 0 :(得分:0)

您不能使用任务来创建Flavors。 Flavors描述了用于创建任务的模型,因此它不会以相反的方式工作。

但是,您可以直接将代码放在build.gradle中,每次执行build.gradle时(通常每次运行Gradle命令时)都会为您创建代码。你可以这样写:

String[] customFlavors = ['flavor1', 'flavor2']

customFlavors.each { name ->
    def flavor = android.productFlavors.create(name)
    flavor.buildConfigField('String', 'PARTNER', "\"${name}\""
    flavor.packageName("com.so.question.${name}")
}