web-dev-qa-db-ja.com

プロジェクトの解決に失敗しました:AndroidライブラリおよびJavaライブラリモジュールの依存関係

AndroidライブラリとJavaライブラリがAndroid Studio(3.1)に含まれる)を含むプロジェクトを作成しようとしています。JavaライブラリはAndroidライブラリに依存しています。どちらも次のように私のプロジェクトのモジュールです:

MyProject    
|-Android
|-Java

どちらもsettings.gradleに表示されます:

include ':Android', ':Java'

そしてJavaライブラリはAndroidライブラリに依存します:

Java(build.gradle):

apply plugin: 'Java-library'

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation project(':Android')
}
...

Android(build.gradle):

apply plugin: 'com.Android.library'
...

プロジェクトを同期しようとすると、次のエラーが発生します。

解決に失敗しました:project :: Android

どうして?

P.S。逆の方法(AndroidはJavaに依存)は問題なく動作します。

16
Sir Codesalot

まず、ビルドエラーを修正してみましょう。実行してみましょう./gradlew build --stacktraceより詳細な出力を表示するには:

原因:org.gradle.internal.component.AmbiguousConfigurationSelectionException:

次のプロジェクト構成:androidLibraryから選択できません:

  • debugApiElements
  • releaseApiElements

[〜#〜] agp [〜#〜] は、どのバリアントを選択するか混乱しています。 this の回答を調べた後、問題を克服する方法を見つけることができます。

implementation project(path: ':androidLibrary', configuration: 'default')

プロジェクトをその設定と同期しようとすると、コンソールに次の出力が表示されます。

モジュール 'androidLibrary'のモジュール 'javaLibrary'への依存性を無視します。 Javaモジュールは依存できないAndroidモジュール

したがって、あなたがしようとしていることがプラグインでサポートされていないようです。 同様の質問 を参照してください。NickCardosoがケースを明確にしようとします。

7
azizbekian