我们知道有两种方法可以为每个res
或productFlavor
分别设置buildType
个目录。
第一种方法是在src
文件夹下设置单独的目录,例如src\flavor1\res
,src\flavor2\res
等。
第二种方法指定res
中sourceSets
下的build.gradle
目录
sourceSets {
main {
res.srcDirs = ['res']
}
dev {
res.srcDirs = ['res-dev']
}
}
我确信资源合并将在第一种方法中发生,并且将从main
的sourceSet中选择单独的目录中缺少的资源。
问题是关于上面第二种方法。
资源合并是否会像使用单独文件夹的第一种方法一样发生?在这里,我明确地指定一个单独的目录。对于未在指定目录中找到的资源,它是否仍会回退到主要位置?
我问这是因为THIS LINK on http://tools.android.com/中的示例,在文章末尾显示'src/main/res'
显式添加如下:
android.sourceSets { main.res.srcDirs = ['src/main/res', 'src/main/res2'] }
有没有人这样做,并且知道如果我只是提供额外的目录而不是主要的额外目录,资源合并是否仍然会发生?它会回退到缺少资源的主目录吗?
答案 0 :(得分:1)
好的,我自己尝试了以上每种情况。调查结果如下:
src\main\res
目录。回溯发生在主res目录的两种方法中。res
和assets
文件夹都非常有效。而且我认为它对其他文件夹也会完全相同。我不需要那些没试过的人。但是,我无法想到在res
和assets
文件夹中它们无法正常工作的原因。因此,它按预期工作。