【发布时间】:2014-09-23 11:39:08
【问题描述】:
我的产品具有多种产品风味,例如:
buildTypes {
debug {
}
release {
}
}
productFlavors {
flavor1 {
buildConfigField "String" "country" "se"
buildConfigField "String" "language" "sv-SE"
buildConfigField "String" "appName" "Flavor1"
}
flavor2 {
buildConfigField "String" "country" "se"
buildConfigField "String" "language" "sv-SE"
buildConfigField "String" "appName" "Flavor2"
}
flavor3 {
buildConfigField "String" "country" "se"
buildConfigField "String" "language" "sv-SE"
buildConfigField "String" "appName" "Flavor3"
}
flavor4 {
buildConfigField "String" "country" "se"
buildConfigField "String" "language" "sv-SE"
buildConfigField "String" "appName" "Flavor4"
}
flavor5 {
buildConfigField "String" "country" "se"
buildConfigField "String" "language" "no-NO"
buildConfigField "String" "appName" "Flavor5"
}
}
我更喜欢一个包含所有属性的公共部分,并且只覆盖那些不同的部分。这可能吗?
我还想将所有风格(可能还有 buildTypes)放在它自己的文件中,以使其更具可读性。因此,无论何时您必须更改风味,您都可以轻松地在其自己的文件中找到它,而不必滚动数千行,如果我在主构建文件中拥有所有风味和 buildTypes 以及所有其余部分,那将是这样。
【问题讨论】:
-
我想过,但是将 resValues 和 buildConfigFields 添加到该部分似乎很混乱。但也许这是唯一的方法。将其移至单独的文件怎么样?
-
debug和buildTypes的release也应该可以解决问题,但是您必须为两者都设置值...无论如何为什么会这么乱?默认配置将包含默认值...关于多个文件...我从不使用 em -
也许我的问题不够清楚。当您有 15 个或更多 productFlavors 和大约 20 个不同的键时,它会变得混乱。然后最好让它们远离构建周围的所有其他内容,例如签名、打包以及有关 android sdk 版本等的所有其他信息。这就是它变得混乱的原因。