我正在创建一个具有“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’
}
}
关于android - 依赖冲突问题 : Here-SDK. aar 和 Directions-api.aar 文件重复类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60170532/