android - 当同一个 .jar 是应用程序和模块的依赖项时,“发现多个文件具有独立于操作系统的路径”错误
问题描述
我有一个项目,其中包含一个应用程序和一个名为“模拟器”的 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 文件中?我假设这是造成该错误的原因,因为在它依赖于也使用 bluecove-2.1.0.jar 的模块之前,我能够使用 bluecove-2.1.0.jar 成功构建应用程序。
应用程序构建.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')
}
解决方案
简而言之:将 .jar 添加为其自己的模块,然后在应用程序和模拟器模块中创建依赖项。
*Android Studio 3.4:
将 .jar 添加为自己的模块的步骤:
- 文件 -> 项目结构
- 选择左侧的模块选项卡
- 单击 + 按钮
- 向下滚动并选择“导入 .JAR/AAR 包”
- 输入 .jar 在计算机文件系统中的路径并为模块命名
- 点击完成
将新的 .jar 模块添加为依赖项的步骤:
- 文件 -> 项目结构
- 选择左侧的依赖项选项卡
- 选择应用模块选项卡
- 单击“Declared Dependencies”标题下方的 + 按钮(其他 + 按钮添加新模块)并选择选项 3“Module Dependency”
- 选择刚刚添加的新 .jar 模块
- 对仿真器模块重复步骤 3 到 5
- 单击应用然后确定
推荐阅读
- shell - How to add shell script to jenkins pipeline
- html - 已解决 - 关闭引导卡容器
- excel - 隐藏列的列宽属性
- redis - 调试 istio 限速处理程序
- sql - 尝试在 Oracle SQL 中取消透视列时出错
- javascript - jQuery:在父元素中查找冒泡事件的触发元素
- c++ - 运行 libpng 应用程序时出现运行时错误
- python - 每次绘制更多数据时,Matplotlib 动画都会变慢
- python - 这种数据库模型结构的最佳方法是什么?
- windows - 如何将特定 KB 更新安装到 Windows Server 2016 Docker 容器