Sir*_*lot 15 java android gradle android-library android-gradle-plugin
我正在尝试在Android Studio(3.1)中创建一个包含Android库和Java库的项目.Java库依赖于Android库.这两个都是我项目中的模块,如下所示:
MyProject
|-android
|-java
Run Code Online (Sandbox Code Playgroud)
两者都出现在settings.gradle中:
include ':android', ':java'
Run Code Online (Sandbox Code Playgroud)
Java库依赖于Android库,如下所示:
java(build.gradle):
apply plugin: 'java-library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation project(':android')
}
...
Run Code Online (Sandbox Code Playgroud)
android(build.gradle):
apply plugin: 'com.android.library'
...
Run Code Online (Sandbox Code Playgroud)
尝试同步项目时,我收到以下错误:
无法解决:project :: android
为什么?
PS反过来(Android依赖于Java)工作得很好.
首先让我们尝试修复构建错误.让我们./gradlew build --stacktrace看看更详细的输出:
引起:org.gradle.internal.component.AmbiguousConfigurationSelectionException:
无法在以下项目配置之间进行选择:androidLibrary:
- debugApiElements
- releaseApiElements
AGP很困惑选择哪种变体.在检查了这个答案后,我们可以找到如何克服这个问题:
implementation project(path: ':androidLibrary', configuration: 'default')
Run Code Online (Sandbox Code Playgroud)
尝试将项目与该设置同步后,您将在控制台中看到以下输出:
忽略模块'androidLibrary'对模块'javaLibrary'的依赖.Java模块不能依赖于Android模块
因此,插件似乎不支持您尝试执行的操作.请参阅类似的问题,Nick Cardoso试图澄清此案.
| 归档时间: |
|
| 查看次数: |
3362 次 |
| 最近记录: |