今天,我遇到了Android Studio的问题。
我有这个项目树:
应用程序使用ui
ui使用ui-tablet和ui-phone
ui手机使用ui-common
ui-tablet使用ui-common
ui-common包含常见的Java代码,drawable和字符串资源
现在,我尝试编译项目,但遇到下一个错误:
“错误:导入home.test.ui.common.R包不存在home.test.ui.common包;”
java类可以正常使用,但是R类不存在...文件build \ source \ r \ debug \ sta \ android \ ui \ common正常生成
我的项目的gradle文件:
-ui
...
apply plugin: 'android-library'
dependencies {
compile project(":ui-common")
compile project(":ui-phone")
compile project(":ui-tablet")
}
...
-ui-common
...
apply plugin: 'android-library'
dependencies {
}
...
-ui电话
...
apply plugin: 'android-library'
dependencies {
compile project(":ui-common")
}
...
-ui-tablet
...
apply plugin: 'android-library'
dependencies {
compile project(":ui-common")
}
...
-应用
...
apply plugin: 'android'
dependencies {
compile project(":ui")
}
...
.iml文件库中也包括:
对于ui电话和ui平板电脑项目:
<orderEntry type="module" module-name="ui-common" exported="" />
对于ui项目:
<orderEntry type="module" module-name="ui-phone" exported="" />
<orderEntry type="module" module-name="ui-tablet" exported="" />
申请项目
<orderEntry type="module" module-name="ui" exported="" />
我如何设置ui-common项目以与ui-tablet和ui-phone项目共享资源?
更新1
ui-common \ build \ source \ r仅包含发行版文件夹,不生成任何调试文件夹。
我尝试在ui电话项目中将ui-common的依赖关系类型从“编译”更改为“编译调试”。 ui-phone项目的此编译正常运行后,但其他项目却出错。为什么Android Studio / Gradle无法生成调试输出?对于其他库(调试和发布均正常生成)
最佳答案
好的,我正在解决我的问题。关于包名称和资源合并的我的错误
在ui-phone项目中,我必须使用ui-phone.R,因为资源已合并!