web-dev-qa-db-ja.com

Kotlin + Gradle未解決のリファレンス

この質問 のように私は次のプロジェクト構造をセットアップしようとしています

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ファイルにさまざまな変更を加えてみましたが、このエラーは修正されていません。

この設定の問題は何ですか?どのように解決できますか?

ありがとう

16
Dan

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構成を変更します。

1
Martin Zeitler