我正在尝试在 Android Studio (3.1) 中创建一个包含 Android 库和 Java 库的项目。 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')
}
...
安卓(build.gradle
):
apply plugin: 'com.android.library'
...
尝试同步项目时出现以下错误:
Failed to resolve: project::android
为什么?
P.S. 反过来(Android 取决于 Java)工作得很好。
最佳答案
首先让我们尝试修复构建错误。让我们运行 ./gradlew build --stacktrace
来查看更详细的输出:
Caused by: org.gradle.internal.component.AmbiguousConfigurationSelectionException:
Cannot choose between the following configurations of project :androidLibrary:
- debugApiElements
- releaseApiElements
AGP 对选择哪个变体感到困惑。检查 this answer 后,我们可以找到解决问题的方法:
implementation project(path: ':androidLibrary', configuration: 'default')
尝试将项目与该设置同步后,您将在控制台中看到以下输出:
Ignoring dependency of module 'androidLibrary' on module 'javaLibrary'. Java modules cannot depend on Android modules
因此,插件似乎不支持您尝试执行的操作。 引用 similar question ,Nick Cardoso 试图澄清这个案例。
关于java - 无法解析项目 : Android library and Java library module dependency,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49714744/