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に依存)は問題なく動作します。
まず、ビルドエラーを修正してみましょう。実行してみましょう./gradlew build --stacktrace
より詳細な出力を表示するには:
原因:org.gradle.internal.component.AmbiguousConfigurationSelectionException:
次のプロジェクト構成:androidLibraryから選択できません:
- debugApiElements
- releaseApiElements
[〜#〜] agp [〜#〜] は、どのバリアントを選択するか混乱しています。 this の回答を調べた後、問題を克服する方法を見つけることができます。
implementation project(path: ':androidLibrary', configuration: 'default')
プロジェクトをその設定と同期しようとすると、コンソールに次の出力が表示されます。
モジュール 'androidLibrary'のモジュール 'javaLibrary'への依存性を無視します。 Javaモジュールは依存できないAndroidモジュール
したがって、あなたがしようとしていることがプラグインでサポートされていないようです。 同様の質問 を参照してください。NickCardosoがケースを明確にしようとします。