根据 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 似乎很高兴,它将提供代码补全和在 projectA
内的 projectB
中搜索代码。但是编译失败并出现错误
Unsresolved reference: bar
在我尝试 import com.foo.bar.whatever
的那一行。
我已尝试对各种 gradle 文件进行许多不同的更改,但没有解决此错误。
此设置有什么问题,如何解决?
谢谢
最佳答案
在 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
配置。
关于android-studio - Kotlin + Gradle Unresolved reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49845538/