首页 技术 正文
技术 2022年11月12日
0 收藏 961 点赞 3,097 浏览 1392 个字

在原本的代码中已经使用了OKHTTP和rxjava,然后今天依赖retrofit的时候一直报错

Program type already present: okhttp3.internal.ws.RealWebSocket$1.class

说是我重复添加了OKHTTP的包,但其实我直接把OKHTTP的依赖注释掉都没用,只要依赖retrofit相关的就一定报这个错

网上推荐添加以下配置,但我尝试后无效,你们可以试试

    configurations.all {
// OkHttp 3.5.0+ includes the websockets API, so we need this to prevent a conflict
exclude module: 'okhttp-ws'
}

最后我在这里https://github.com/facebook/react-native/issues/12646找到一个答案,catch成功

解决方法如下:

因为是okhttp3.5.0之后的版本才加入的okhttp-ws,所以把版本强制控制在3.5.0以下:

configurations.all {
resolutionStrategy.force 'com.squareup.okhttp3:okhttp:3.4.1'
}

重新build,代码不再报错

————————————-emm,以下是我第二天的打脸续集Android Studio中解决jar包重复依赖导致的代码编译错误—————————————-

昨天直接使用强制控制版本之后以为就没问题了,今天把retrofit的相关代码写了,运行起来才发现3.5.0以下的有个okhttp.ws里的方法找不到,又是各种方法一通试,还是不行,直到在一篇博客上看到一点曙光,照方法执行后,解决了问题(这次是真的解决了Android Studio中解决jar包重复依赖导致的代码编译错误

首先在log信息中找到你重复的地方,是哪个类或包重复了,比如我昨天讲的自己是okhttp里的RealWebSocket类重复,那么在studio中anywhere搜索(快捷键->双击shift)RealWebSocket

看到两个重复的RealWebSocket类,可以直接看到它的目录地址

Android Studio中解决jar包重复依赖导致的代码编译错误

然后想到自己昨天刚添加的一堆retrofit相关依赖

implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0'

OK,现在就算是找到问题根源(其实一直都很明白问题就在这儿 哈哈哈Android Studio中解决jar包重复依赖导致的代码编译错误

接下来很简单: 
在AS中,选择以project显示项目,找到最下面的External Libraries

Android Studio中解决jar包重复依赖导致的代码编译错误

然后找到相对应的类库,如图依次点开之后发现了一个pom.xml:

Android Studio中解决jar包重复依赖导致的代码编译错误

这里面就是关于这个jar的一些配置文件,点开之后找到你重复包的groupID复制下来:

Android Studio中解决jar包重复依赖导致的代码编译错误

然后到build.gradle里,找到那个依赖,添加{exclude group: 'com.squareup.okhttp3'} 

Android Studio中解决jar包重复依赖导致的代码编译错误

到此问题就解决了,如果你有多个重复依赖的话,就按上面的方法一个个去重。

亲亲,这边建议您有其他jar包重复的问题也可以尝试用这个方法解决呢Android Studio中解决jar包重复依赖导致的代码编译错误

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,565
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,413
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,186
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905