如果我有3种风味1,风味2和风味3,每种风味都有Dev,Pat和Prod"亚风味"不同参数的版本,但每种主要风味都有不同的资源。
所以我现在有9种不同的口味,但只有3种不同的资源文件夹)。我想要同样的"子口味"使用相同的资源。
我该怎么做?我在文档中看到了关于flavorDimensions但不确定如何配置资源文件夹。
目前我正在使用像
这样的东西sourceSets {
flavor1_dev{
res.srcDir 'src/flavor1/res'
}
flavor1_prod{
res.srcDir 'src/flavor1/res'
}
flavor2_dev{
res.srcDir 'src/flavor2/res'
}
flavor2_prod{
res.srcDir 'src/flavor2/res'
}
}
答案 0 :(得分:1)
你需要Gradle风味,例如。 flavor1
,flavor2
等,以及dev
,prod
等构建类型。
请参阅以下示例:http://developer.android.com/tools/building/configuring-gradle.html和http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Sourcesets-and-Dependencies
例如:
android.sourceSets.flavor1Debug
位置src / flavor1Debug /
android.sourceSets.flavor1Release
位置src / flavor1Release /
android.sourceSets.flavor2Debug
位置src / flavor2Debug /
android.sourceSets.flavor2Release
位置src / flavor2Release /
此外,这个问题非常相似How can I specify per flavor buildType sourceSets?
答案 1 :(得分:-1)
将公共资源放在main / res中。主/ res中的所有资源都将被味道覆盖。 例如,如果要覆盖字符串资源add,
主要字符串文件:/src/main/res/values/strings.xml
<resources>
<string name="app_name">Main</string>
<string name="app_name_full">Main app</string>
<string name="app_email">main@abc.com</string>
<string name="app_phone">123</string>
<string name="app_website">www.abc.com</string>
</resources>
和flavor字符串文件:/src/flavor1/res/values/strings.xml
<resources>
<string name="app_name">Flavour App Name</string>
</resources>
只有app_name才会改变风味,其他资源如app_full_name仍然可以在所有风格中访问。