android - 依赖冲突问题:Here-SDK.aar 和 Directions-api.aar 文件重复类
问题描述
我正在创建一个具有“directions-api.aar”(Here-Maps 小部件库)的旧依赖项的 android 应用程序,现在我需要为 Map 的实现添加“HERE-sdk.aar”。
这导致了一个问题,有一些类在两个“aar”文件中都很常见。因此 android studio 抛出以下异常:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.
1 exception was raised by workers: java.lang.RuntimeException:
Duplicate class com.here.android.mpa.common.CopyrightLogoPosition found in modules HERE-sdk.jar (:directions-api:) and classes.jar (HERE-sdk.aar)
Duplicate class com.here.android.mpa.common.GeoBoundingBox found in modules HERE-sdk.jar (:directions-api:) and classes.jar (HERE-sdk.aar)
Duplicate class com.here.android.mpa.common.GeoCoordinate found in modules HERE-sdk.jar (:directions-api:) and classes.jar (HERE-sdk.aar)
Duplicate class com.here.android.mpa.common.GeoPolygon found in modules HERE-sdk.jar (:directions-api:) and classes.jar (HERE-sdk.aar)
...
我试过了 :
'exclude group: ‘com.here.android.mpa’, module: ‘HERE-sdk’'
,
packagingOptions { pickFirst 'com/here/android/mpa/common/*'}
还有更多的解决方案,但这些都不起作用。
有没有人知道如何从冲突的 aar 文件中排除重复的类/依赖项?
解决方案
尝试添加依赖:
implementation 'com.android.support:support-v4:28.0.0'
如日志所示,classes.jar 模块有重复的类,请尝试从 gradle 中删除冲突文件
android{
...
configurations {
all*.exclude group:'android.support.v4.app' module: ‘classes.jar’
all*.exclude group:'android.support.v4.accessibilityservice' module: ‘classes.jar’
}
}
推荐阅读
- node.js - MongoError: E11000 索引的重复错误键。即使我传入信息,参数也显示为 null
- mongodb - MongoDB 使用 $in 与 Java 语法的对象数组
- amazon-web-services - AWS cognito 访问被拒绝异常
- macos - 更新 Homebrew 桶版本
- nim-lang - 如何在 Nim 中用糖解压元组?
- c# - 为什么更改对象的比例会破坏其子着色器?
- sql - sqlite 从多个表创建视图
- r - 如何在R中将数据帧切成多个数据帧
- javascript - 如何重塑这个嵌套的 JSON 数据?
- python - “RedisChannelLayer”对象不可调用