在我的Android应用中,我希望在res / layout中有子目录。当然Android并不支持这个,所以我尝试配置Gradle来做到这一点。
我的项目结构:
src/
/package_with_java_source
res/
/drawable
/layout
/someLayDir
现在我想为我和我建立项目gradle合并这个子目录:
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
assets.srcDirs = ['assets']
res.srcDirs =
[
'res/layout/someLayDir',
'res/layout',
'res'
]
}
}
不幸的是,当我尝试构建项目时,我收到错误:
Error:(29, 60) Gradle: error: cannot find symbol variable app_bar
app_bar是我的布局ID(R.id.app_bar)。请帮帮我:(
P.S。 如果重要的是我使用Intellij Idea 14
答案 0 :(得分:1)
res.srcDirs
指向一组资源根目录。 res/layout/
和res/layout/someDir
都不是资源根目录。
在这里,通过"资源根目录",我的意思是构建工具希望看到典型的资源目录(例如,drawable-mdpi/
,layout/
)作为根。在你的情况下:
res/layout/
没有res/layout/drawable-mdpi
/,或res/layout/layout/
,或类似
res/layout/someDir/
没有res/layout/someDir/drawable-mdpi
/,或res/layout/someDir/layout/
,或类似