Kotlin + Gradle未解决的参考

时间:2018-04-15 18:43:05

标签: android-studio spring-boot gradle kotlin android-gradle

根据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文件进行了许多不同的更改,但没有修复此错误。

此设置有什么问题?如何解决?

由于

1 个答案:

答案 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配置。