说我有这个目录结构:
“values-fr”是“flavor1”和“flavor2”共用的,因此应打包“values”、“values-fr”和“values-de”。
“flavor3”只需要打包“values”和“values-de”。因此,我需要仅在“flavor3”中排除“values-fr”资源文件夹。
我已尝试了许多组合,例如下面这些,但无法弄清楚是否可能。
您也可以从ICU的这里检查国家代码列表。
app
--src
|--main
| |--java
| |--res
| |--drawable
| |--values
| |--values-fr
| |--values-de
|
|--flavor1
| |--res
| |--drawable
|
|--flavor2
| |--res
| |--drawable
|
|--flavor3
|--res
|--drawable
“values-fr”是“flavor1”和“flavor2”共用的,因此应打包“values”、“values-fr”和“values-de”。
“flavor3”只需要打包“values”和“values-de”。因此,我需要仅在“flavor3”中排除“values-fr”资源文件夹。
我已尝试了许多组合,例如下面这些,但无法弄清楚是否可能。
sourceSets {
flavor3 {
res.exclude 'values-fr/**'
res.exclude 'values-fr/'
}
}
编辑
我找到了一个可行的解决方案,仅在上述示例中包含德语,使用以下方法:
productFlavors {
flavour3 {
resConfigs 'de' // include '-de' resources, along with default 'values'
}
}
您也可以从ICU的这里检查国家代码列表。
res
也似乎不起作用。 - Fifer Sheep