android中java.lang.NoClassDefFoundError: okhttp3.OkHttpClient异常

最近在开发一个新项目,可能是自己经验不足的问题,总是遇到各种各样的坑,emmm.......让我的头搞得是摸不着头脑,难受,香菇。。。。

在我的项目中我使用了一个大佬封装的okhttpUtils(吴大佬),然后就是前任(可别想多啊,是前任安卓)留下的okhttp中的拦截器了,,,,当我使用ok请求网络数据时就报了下面的错误,

  java.lang.NoClassDefFoundError: okhttp3.internal.tls.OkHostnameVerifier

百度了一波,然而并没有什么卵用,说是什么jar冲突啊之类的办法都没偶用,可是一点是有用的,让我知道了OkHostnameVerifier存在于拦截器下,然而可怕的是必须要okhttp3版本的号为3.3.1才会存在,不然就会报错,我也很无奈啊!!!,解决了差不多半天最后也灭解决,什么改版本号啊,强制使用某个版本号阿,我也都试了没有作用,哎,无奈,,,第二天开早会时,项目经理问道错误解决没?我也只能无奈说,没有啦!!!

在此期间我也请教了许多大佬,他们都说jar冲突了,都让我删除jar包,最后我也很无奈,摸不着头脑,早会结束后我还是决定找度娘,最后没想到真的找到了解决办法,我抱着试一试的态度行动起来了

首先第一步:

在build.gradle文件中添加


第二步:


添加mutiDexEnabled true

第三步:

建一个MyApplication继承Application

然后在MyApplication中初始化mutiDexEnabled

MultiDex.install(this);

这段代码在API_21及以上加不加手机都不会报错, 在API_21以下就会爆出java.lang.NoClassDefFoundError: okhttp3.OkHttpClient错误。(我用的4.4版本手机)
到此解决问题

第四步:

就是运行代码了,哈哈哈,,,run,,,,

又到了工作的时间了,我天天忙得都没时间写博客,更没时间睡觉,午休结束了,开始工作,,,flightting!!!!

有时间继续总结项目中遇到的问题



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是阿亮啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值