android-studio - Kotlin + Gradle Unresolved reference

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

根据 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/

相关文章:

jar - 如何在Gradle编译依赖项中将jar包含在磁盘上

android - 找不到方法compile()

android - Flutter:不接受某些 Android 许可证。无法接受许可证

java - Spring Boot 未加载 log4j2.xml

spring - Thymeleaf 在某些语言环境中不会渲染消息中的变量

spring-boot - 使用 JMS 2.0 将传递延迟与 IBM MQ 结合使用

java - 如何使用 gradle 任务运行 Shadow jar?

android - 如何显示/隐藏 ListView 元素?

java - Android,Java - AutocompleteTextView列表显示在编辑框下

java - 无法在 intellij idea 中使用 gradle 构建 javafx 项目