有没有一种简单的方法可以在gradle中包含常用功能设置

时间:2018-11-08 17:40:08

标签: android android-gradle

当通过构建设置拆分风味时,是否有一种简单的方法可以将常见的风味设置包括在风味中?

以下面的示例为例。我希望下面的flavor1组中的所有设置都包含在“调试”和“发布”版本中。显然,这是一个简化的示例,因为我有4种口味,并且它们之间共有20多种设置,我不想重复它们。

android {
    productFlavors {
        flavor1Debug {
            resValue 'string', 'application_name', 'DebugName'
        }
        flavor1Release {
            resValue 'string', 'application_name', 'RelaseName'
        }

        //flavor1 {
        //    buildConfigField 'String', 'DEFAULT_LANGUAGE_CODE', '"en"'
        //}
    }
}

1 个答案:

答案 0 :(得分:0)

有一个defaultConfig部分,您可以在defaultConfig块中提供所有口味的基本配置,每种口味都可以更改这些默认值中的任何一个。 例如:

android {
    defaultConfig {
        manifestPlaceholders = [hostName:"www.example.com"]
        ...
    }
    buildTypes {
      debug{...}
      release{...}
    }

   flavorDimensions "version"
   productFlavors {
     demo {
        dimension "version"
        manifestPlaceholders = [hostName:"www.otherexample.com"]//this flavor change manifestPlaceholders 
        ...
     }
     full {
        dimension "version" //this flavor extends manifestPlaceholders from `defaultConfig`
        ...
     }
   }