【问题标题】:Canonical way to write gradle task for adding new Android product flavors编写 gradle 任务以添加新的 Android 产品风格的规范方法
【发布时间】:2014-04-23 16:26:44
【问题描述】:

我想使用自定义 Gradle 任务在 Android 项目中自动处理各种风格。
例如,使用 2 个参数实现 addFlavor 任务:flavorNameflavorLogo。该任务应该通过执行后续步骤来增加新的风味:

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

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

使用自定义 Gradle 任务的正确和规范方法是什么?

【问题讨论】:

    标签: android gradle android-gradle-plugin android-productflavors


    【解决方案1】:

    您不能使用任务来创建风味。风味描述了用于创建任务的模型,因此它不会反过来工作。

    但是,您可以直接将代码放入 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}")
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-01
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-11
      • 2023-03-17
      相关资源
      最近更新 更多