android - 依赖冲突问题 : Here-SDK. aar 和 Directions-api.aar 文件重复类

标签 android gradle build.gradle here-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’
  }
}

关于android - 依赖冲突问题 : Here-SDK. aar 和 Directions-api.aar 文件重复类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60170532/

相关文章:

gradle - Gradle自定义插件:如何使用预期在构建脚本中设置的属性配置Gradle任务

java - 我想启动一个方法或某个进程并保持 100 毫秒,然后在 android 中重新启动

Android Studio 将多个项目导入到一个项目中

android - Gradle守护程序无法启动-尝试全部

android - 在Android中导入库项目的更好方法

maven - 是否可以在类似于 Maven install :install-file? 的 gradle 中将文件安装到本地缓存

android - 运行一个安卓项目

java - 文件依赖Gradle

java - 带有依赖项的 jar spring boot gradle

gradle - 可以在gradle中使用jar中的资源文件吗?