代码之家  ›  专栏  ›  技术社区  ›  Sir Codesalot

无法解析项目:Android库和Java库模块依赖关系

  •  17
  • Sir Codesalot  · 技术社区  · 6 年前

    我正在尝试创建一个项目,其中包括Android Studio(3.1)中的Android库和Java库。Java库依赖于Android库。这两个模块在我的项目中都是这样的:

    MyProject    
    |-android
    |-java
    

    两者都显示在“设置”中。格拉德尔:

    include ':android', ':java'
    

    Java库依赖于Android库,如下所示:

    爪哇( build.gradle ):

    apply plugin: 'java-library'
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation project(':android')
    }
    ...
    

    android系统( 建筑格拉德尔 ):

    apply plugin: 'com.android.library'
    ...
    

    尝试同步项目时,我遇到以下错误:

    无法解析:项目::android

    为什么?

    P、 S。 另一种方法(Android依赖于Java)也可以。

    1 回复  |  直到 6 年前
        1
  •  16
  •   Community    4 年前

    首先,让我们尝试修复生成错误。我们跑吧 ./gradlew build --stacktrace 要查看更详细的输出,请执行以下操作:

    原因:组织。格拉德尔。内部的组成部分模糊配置SelectionException:

    无法在以下项目配置之间进行选择 :androidLibrary :

    • 调试要素
    • releaseApiElements发布要素

    AGP 不知道该选择哪种变体。检查后 this 答案是,我们可以找到如何克服这个问题:

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

    尝试将项目与该设置同步后,您将在控制台中看到以下输出:

    忽略模块的依赖关系 'androidLibrary' on模块 'javaLibrary' .Java模块不能依赖于Android模块

    因此,插件似乎不支持您尝试执行的操作。 提到 similar question ,Nick Cardoso试图澄清该案件。