我有一个android应用程序文件夹结构:
phone
├── res
└── src
└── tablet
├── res
└── src
现在在phone/src中有一个activity.java想要使用来自phone/tablet/res的资源(.xml文件),我如何从子目录访问资源?谢谢!
尝试import
,.phone.R
和phone.tablet.R
,但后者无法找到。
看起来你的文件夹结构不是Android Studio默认使用的。我建议将其更改为根据默认结构,因为在这种情况下Gradle可以自动合并所有资源等,否则您可能需要在build.gradle
中添加一些自定义配置。下面是使用模块/子模块的唯一示例。但是,如果您想为不同的构建类型提供单独的代码版本,则可能需要不同的口味。
<module name> // i.e. phone
|--src
|----main
|------res
|--<sub-module name> // i.e. tablet
|----src
|------main
|--------res
|----build.gradle
|--build.gradle
然后在模块的build.gradle
中添加子模块作为依赖项-这将允许从模块级使用子模块的代码库。
或者,如果您不需要单独的模块,但只想将平板电脑相关资源分组在单独的文件夹中
phone
|--src
|----main
|------res
|--------tablet
然后在你的build.gradle
你需要指定res路径:
android {
sourceSets {
main.res.srcDirs = [
'src/main/res',
'src/main/res/tablet'
]