1. 程式人生 > >異常記錄:java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread

異常記錄:java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread

異常描述

  • 有兩處報錯
 Caused by: java.lang.NoSuchMethodError:No virtual method isSuccess()Z in class Lretrofit2/Response;

 java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread
  • 使用環境
    1. 使用Retorfit結合Rxjava實現網路請求
    2. 在retrofit中新增攔截器

原因分析

基於okhttp3的攔截器版本與retrofit使用的版本不一致

解決方法

這是我改正後的依賴配置
retrofit最新版本是2.4.0,基於okhttp3的3.11.0版本,所以把 攔截器的版本修正為3.11.0

    //retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'io.reactivex:rxandroid:1.1.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.4.0'
implementation 'com.trello.rxlifecycle2:rxlifecycle:2.2.1' implementation 'com.trello.rxlifecycle2:rxlifecycle-components:2.2.1' implementation 'com.squareup.okhttp3:logging-interceptor:3.11.0'

* 注意:在使用retrofit過程中無需另外新增okhtt3的依賴,本身已實現okhttp3的支援*