添加uCrop和Cometchat库时出现Gradle“重复类”错误

时间:2019-06-09 10:39:40

标签: android gradle

当我添加UCrop库版本2.2.3和Cometchat SDK版本1.6。+时,出现以下错误:

  

重复的类okhttp3.Address在模块okhttp-3.11.0.jar(com.squareup.okhttp3:okhttp:3.11.0)和okhttp-3.12.0.jar(com.cometchat:pro-android-chat- sdk:1.6.0)

问题在于,先前提出的问题都没有解决我问题的答案,因为其中大多数都使用了现在不推荐使用的“编译”方法。

我在此处阅读了有关同一主题的关于stackoverflow的许多问题,包括 thisthis

我还尝试从其中一个软件包中排除okhttp3库,以便仅使用

implementation('com.github.yalantis:ucrop:2.2.3' )
    {       
exclude group: 'com.cometchat', module: 'okhttp3'
  }

如果有人可以向我解释如何在gradle中排除工作以及我编写的代码出了什么问题,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

尝试将其从okhttp3组中排除com.cometchat

implementation('com.cometchat:pro-android-chat-sdk:1.6.0') {
        configurations {
            compile.exclude module: 'okhttp'
        }
    }

冲突是由于您的UCropCometChat依赖关系内部使用okhttp库。要解决此问题,您必须排除冲突的库。

  

可以通过两种不同的方式来排除传递依赖。

     
      
  1. 按配置排除传递依赖
  2.   
  3. 按依赖性排除传递性依赖性
  4.   

要了解有关gradle dependency冲突原因和解决方案的更多信息,请查看此链接 https://www.concretepage.com/build-tools/gradle/gradle-exclude-transitive-dependency-example