我正在创建一个Android应用程序,该应用程序具有'directions-api.aar'(此处为Maps小部件库)的旧依赖性,现在我需要为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’
}
}