【Android】okhttp 3.12.3版本 依赖冲突

文章讲述了在Android项目中遇到Lokhttp3内部类UnrepeatableRequestBody找不到的问题,原因是由于不同版本的OkHttpjar包不一致。解决方案是降低OkHttp版本至3.12.9并排除其他依赖中的OkHttp冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Failed resolution of: Lokhttp3/internal/http/UnrepeatableRequestBody 

.....

Didn t find class okhttp3.internal.http.UnrepeatableRequestBody on path: DexPathList[[zip file /system/framework/org.apache.http.legacy.boot.jar , zip file /data/app/xxxxx-bZOGLR_BtUCgA9cDOGjkyg==/base.apk ],nativeLibraryDirectories=[/data/app/XXXXXX-bZOGLR_BtUCgA9cDOGjkyg==/lib/arm, /data/app/XXXXX-bZOGLR_BtUCgA9cDOGjkyg==/base.apk!/lib/armeabi-v7a, /system/lib, /product/lib]]

原因:在使用okhttp版本中,版本不一致,导致jar中没有 UnrepeatableRequestBody 这个文件;

切换到project,查看Gradle okhttp这个jar可以发现不用依赖版本的有细小差距的,

解决方案:向下兼容,UnrepeatableRequestBody 这个类在3.14.9以上取消了,所以可以降低版本,我这降低到3.12.9。

implementation 'com.squareup.okhttp3:okhttp:3.12.9'

tip:如果其他依赖也有okhtpp,需要去除,可以参考如下:

api ('com.XXXXr:XXXX:3.2.1'){
        exclude group: 'com.squareup.okhttp3'
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值