根据this question我尝试设置以下项目结构
project/
settings.gradle
projectB/ # some common code (using spring-boot)
build.gradle
com/
foo/
bar/...
projectA/ # an android app
build.gradle
com/
foo/
baz/...
settings.gradle
看起来像
rootProject.name = "project"
include ":projectB"
project(":projectB").projectDir = new File(rootDir, './projectB')
include ":projectA"
project(":projectA").projectDir = new File(rootDir, './projectA')
并在projectA/build.gradle
我有
dependencies {
implementation project(":projectB")
}
Android Stuido似乎很满意,并会在projectB
内的projectA
内提供代码验证和搜索代码。但编译失败并出现错误
Unsresolved reference: bar
在我尝试import com.foo.bar.whatever
的行上。
我已尝试对各种gradle文件进行了许多不同的更改,但没有修复此错误。
此设置有什么问题?如何解决?
由于
答案 0 :(得分:0)
在Android Studio和IntelliJ IDE中,最好将它们定义为“模块”。
例如settings.gradle
都一样:
include ":projectA", ":projectB"
rootProject.name = "project"
具有类似的目录结构:
project/
settings.gradle
projectB/ # common code
build.gradle
src/
test/
debug/
main/
res/
assets/
java/
kotlin/
com/
foo/
bar/...
projectA/ # android app
build.gradle
src/
test/
debug/
main/
res/
assets/
java/
kotlin/
com/
foo/
baz/...
当打算使用其他目录结构时,请更改sourceSets
配置。