当相同的.jar是应用程序和模块的依赖项时,出现“发现多个文件且具有与操作系统无关的路径”错误

时间:2019-06-12 14:22:30

标签: android gradle

我有一个带有应用程序和名为“仿真器”的Java库模块的项目。应用程序和模块都需要bluecove-2.1.0.jar作为依赖项。我将bluecove-2.1.0.jar添加到应用程序和模块的libs文件夹中,从而能够成功组装模块并生成Emulator.jar。但是,在构建应用程序时,遇到以下错误:

  

发现有多个文件具有与操作系统无关的路径'bluecove-2.1.0.51.version'

是否可以与应用程序和模块共享bluecover-2.1.0.jar库,而无需将其添加到两个lib文件夹中,也不能将其作为依赖项添加到两个build.gradle文件中? strong>我假设这是导致错误的原因,因为我能够在不依赖于也使用bluecove-2.1.0.jar的模块之前使用bluecove-2.1.0.jar成功构建了该应用程序。

app build.gradle:

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation project(":Emulator")
    implementation files('libs/bluecove-2.1.0.jar')
}

仿真器模块build.gradle:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation files('libs/bluecove-2.1.0.jar')
}

1 个答案:

答案 0 :(得分:1)

简而言之:将.jar添加为自己的模块,然后在应用程序模块和仿真器模块中创建依赖关系。

* Android Studio 3.4:

添加.jar作为其自己的模块的步骤:

  1. 文件->项目结构
  2. 选择左侧的“模块”标签
  3. 点击+按钮
  4. 向下滚动并选择“导入.JAR / AAR包”
  5. 输入.jar在计算机文件系统中的路径,然后 为模块命名
  6. 单击完成

将新的.jar模块添加为依赖项的步骤:

  1. 文件->项目结构
  2. 选择左侧的“依赖关系”标签
  3. 选择应用程序的“模块”标签
  4. 单击“声明的依赖关系”标题下的+按钮(其他+按钮添加一个新的模块),然后选择选项3“模块依赖关系”
  5. 选择刚刚添加的新.jar模块
  6. 针对仿真器模块重复步骤3至5
  7. 单击“应用”,然后单击“确定”