安卓/摇篮:为什么可以多次申报values.XML文件?

问题描述 投票:0回答:1

先决条件

我已经创建了以下哪种树结构被使用(根据the documentation应用级的build.gradle被修改 - 你可以找到这些变化在这个问题结束)的应用程序:

  • 应用 SRC 主要 my_theme 捆绑 一束 可绘制的文件夹,文件夹值,布局文件夹等 全球 可绘制的文件夹,文件夹值,布局文件夹等

有几束。所有值目录(每包和一个全局文件夹)包含文件strings.XML。我的应用程序编译并正确执行。

然而,Android的文档指出:

注意:如果两个或更多的资源目录包含相同的资源文件,资源合并过程中发生错误。

(Qazxswpoi)

所以,既然我用的是同一个文件https://developer.android.com/studio/write/add-resources#change_your_resource_directory,为什么没有显示任何错误? (当然,根据在它们所在的目录,这些strings.xml文件内容发生了变化 - 无论是他们的捆绑目录或全局目录)

应用级的build.gradle

(例如,使Android的解析器能够解析符号),使其工作,我添加了这些行:

strings.xml
android android-gradle
1个回答
2
投票

android { sourceSets { main { res.srcDirs = [ 'src/main/bestheme/global', 'src/main/bestheme/bundles/a_bundle' ] } } } (以及任何strings.xml资源)都在这个意义上,资源标识符不是基于文件名,但里面的文件实际上规定不同。

资源合并发生在资源标识符的水平。如果有在同一sourceset水平,资源标识符没有冲突,那么合并工作的很好。

文档注释也适用于对资源的ID是从文件名派生的资源类型。例如,布局或绘图资源。

© www.soinside.com 2019 - 2024. All rights reserved.