我正在尝试在 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
为什么?
附言反过来(Android 取决于 Java)工作得很好。
Best Answer-推荐答案 strong>
首先让我们尝试修复构建错误。让我们运行 ./gradlew build --stacktrace 来查看更详细的输出:
Caused by: org.gradle.internal.component.AmbiguousConfigurationSelectionException:
Cannot choose between the following configurations of project :androidLibrary:
- debugApiElements
- releaseApiElements
AGP 对选择哪个变体感到困惑。检查 this 答案后,我们可以找到解决问题的方法: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/
|