美文网首页
Okhttp3相关的异常

Okhttp3相关的异常

作者: 王魔王 | 来源:发表于2019-04-18 09:19 被阅读0次

Okhttp3是非常火爆的一个网络请求框架,虽然你90%配合了Retrofit,但大概率你在指定Retrofit的网络请求客户端的时候,也会使用Okhttp3

此篇用于记录在使用Okhttp3中遇到的异常,会不断更新...

 java.lang.NoClassDefFoundError: Failed resolution of: Lokhttp3/internal/http/HttpEngine;
                                                                   at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:219)
                                                                   at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
                                                                   at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)

   Caused by: java.lang.ClassNotFoundException: Didn't find class "okhttp3.internal.http.HttpEngine" on path: DexPathList[[zip file "/data/app/com.bawie.weidu-2/base.apk", zip file "/data/app/com.bawie.weidu-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.bawie.weidu-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
                                                                   at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                                   at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
                                                                   at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
                                                                  at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:42)
                                                                Suppressed: java.lang.ClassNotFoundException: okhttp3.internal.http.HttpEngine
                                                                   at java.lang.Class.classForName(Native Method)
                                                                   java.lang.BootClassLoader.findClass(ClassLoader.java:781)
                                                                   at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
                                                                   at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
                                                                        ... 23 more
                                                                Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

为了大家阅读方便,我删除了中间很多无用的日志,只留下了这么几行日志
刚看到这个异常的时候我以为是分包造成的异常,一水儿的NoClassDefFoundError,但其实我心里是有疑惑的。果不其然,如果我按照分包异常的思路去解决,无法解决问题。
上网搜索了一下,很多人都说是因为logging-interceptorOkHttp3的版本不一致造成的,但是我仔细查看自己的依赖之后发现我的依赖是这样写的:

implementation 'com.squareup.okhttp3:okhttp:3.1.2'
implementation 'com.squareup.okhttp3:logging-interceptor:3.1.2'

也就是说我们的依赖版本是一致的,但为什么还报错呢?
不过网上的帖子却给了我灵感,很有可能是我依赖的版本有问题,不如改个版本号试一下

implementation 'com.squareup.okhttp3:okhttp:3.4.1'
 implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1'

完美解决了我的问题

相关文章

  • Okhttp3相关的异常

    Okhttp3是非常火爆的一个网络请求框架,虽然你90%配合了Retrofit,但大概率你在指定Retrofit的...

  • 异常相关

    1、异常体系error / Exception 1)运用java异常处理机制a. try ... catch语句b...

  • Android常用三方库混淆规则整理-持续更新

    基本指令 Android相关组件 WebView 友盟统计 微信 Glide 极光 okio OkHttp3 Rx...

  • Okhttp3缓存相关

    虽然好多项目中用的都是okhttp3,但是一直没有弄明白缓存到底是怎么回事。正好趁着过完年不忙的这段时间,研究了一...

  • Okhttp3源码分析

    okhttp3源码分析基于okhttp3.10.0。 关于okhttp的特点及相关功能的介绍可以查看官网的介绍: ...

  • CLEARTEXT communication to * not

    原因是Android P系统限制了明文流量的网络请求,之下的版本没有影响,所以okhttp3会抛出该异常。 解决方...

  • OkHttp3源码分析[综述]

    OkHttp系列文章如下 OkHttp3源码分析[综述] OkHttp3源码分析[复用连接池] OkHttp3源码...

  • OkHttp3源码分析[DiskLruCache]

    OkHttp系列文章如下 OkHttp3源码分析[综述] OkHttp3源码分析[复用连接池] OkHttp3源码...

  • OkHttp3源码分析[复用连接池]

    OkHttp系列文章如下 OkHttp3源码分析[综述] OkHttp3源码分析[复用连接池] OkHttp3源码...

  • OkHttp3源码分析[任务队列]

    OkHttp系列文章如下 OkHttp3源码分析[综述] OkHttp3源码分析[复用连接池] OkHttp3源码...

网友评论

      本文标题:Okhttp3相关的异常

      本文链接:https://www.haomeiwen.com/subject/vkaawqtx.html