Kotlin + Gradle未解决的参考

Dan*_*Dan 14 gradle kotlin android-studio android-gradle-plugin spring-boot

根据这个问题,我正在尝试设置以下项目结构

project/
   settings.gradle
   projectB/  # some common code (using spring-boot)
       build.gradle
       com/
          foo/
             bar/...
   projectA/  # an android app
       build.gradle
       com/
          foo/
             baz/...
Run Code Online (Sandbox Code Playgroud)

settings.gradle 好像

rootProject.name = "project"
include ":projectB"
project(":projectB").projectDir = new File(rootDir, './projectB')
include ":projectA"
project(":projectA").projectDir = new File(rootDir, './projectA')
Run Code Online (Sandbox Code Playgroud)

projectA/build.gradle我有

dependencies {
    implementation project(":projectB")
}
Run Code Online (Sandbox Code Playgroud)

Android Stuido似乎很高兴并将提供代码完成并在projectB内部搜索代码projectA.但编译失败并出现错误

Unsresolved reference: bar
Run Code Online (Sandbox Code Playgroud)

在我尝试的线上import com.foo.bar.whatever.

我已尝试对各种gradle文件进行了许多不同的更改,但没有修复此错误.

这个设置有什么问题,如何解决?

谢谢

Mar*_*ler 2

在 Android Studio 和 IntelliJ IDE 中,最好将它们定义为“模块”。

例如。与settings.gradle类似的:

include ":projectA", ":projectB"
rootProject.name = "project"
Run Code Online (Sandbox Code Playgroud)

具有类似的目录结构:

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/...
Run Code Online (Sandbox Code Playgroud)

当打算使用其他目录结构时,需要更改配置sourceSets