您当前的位置: 首页 >  网络

蓝不蓝编程

暂无认证

  • 1浏览

    0关注

    706博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

使用facebook stetho进行网络抓包,导致挂机问题

蓝不蓝编程 发布时间:2019-05-28 14:48:42 ,浏览量:1

报错信息
2019-05-28 13:39:47.686 21208-21275/com.cxyzy.note E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
    Process: com.cxyzy.note, PID: 21208
    java.lang.IllegalStateException: No connection associated with this request; did you use addInterceptor instead of addNetworkInterceptor?
        at com.facebook.stetho.okhttp3.StethoInterceptor.intercept(StethoInterceptor.java:71)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at com.cxyzy.note.network.interceptor.HttpHeaderInterceptor.intercept(HttpHeaderInterceptor.kt:22)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at com.cxyzy.note.network.interceptor.HttpLogInterceptor.intercept(HttpLogInterceptor.kt:43)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:213)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
        at okhttp3.RealCall$AsyncCall.execute(RealCall.java:147)
        at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:919)
代码
  1. 依赖
    debugImplementation 'com.facebook.stetho:stetho:1.5.1'
    debugImplementation 'com.facebook.stetho:stetho-okhttp3:1.5.1'
    releaseImplementation "net.igenius:stetho-no-op:1.1"
  1. Application启动stetho
if (BuildConfig.DEBUG) {
    Stetho.initialize(
            newInitializerBuilder(this)
                    .enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
                    .enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this))
                    .build())
}
  1. 设置okhttp过滤器
if (BuildConfig.DEBUG) {
    addInterceptor(StethoInterceptor())
}
问题原因

应该使用addNetworkInterceptor,而不是addInterceptor. 修改okhttp过滤器设置代码

if (BuildConfig.DEBUG) {
    addNetworkInterceptor(StethoInterceptor())
}
关注
打赏
1639405877
查看更多评论
立即登录/注册

微信扫码登录

0.1517s