13

我在 AndroidStudio 的最新预览版上使用 RxJava 和 Retrofit。我的项目启用了 java 1.8 支持,如下所示:

compileOptions {
    targetCompatibility 1.8
    sourceCompatibility 1.8
}

但是,当代码编译并运行时,我会在发出请求后立即收到此错误,即使我有onError处理程序:

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/devtools/build/android/desugar/runtime/ThrowableExtension;
at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:281)
at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:58)
at io.reactivex.Observable.subscribe(Observable.java:10179)
at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
at io.reactivex.Observable.subscribe(Observable.java:10179)
at io.reactivex.internal.operators.flowable.FlowableFromObservable.subscribeActual(FlowableFromObservable.java:31)
at io.reactivex.Flowable.subscribe(Flowable.java:12218)
at io.reactivex.internal.operators.flowable.FlowableOnBackpressureLatest.subscribeActual(FlowableOnBackpressureLatest.java:31)
at io.reactivex.Flowable.subscribe(Flowable.java:12218)

即使我使用 Maybe、Single 或 Observable 也会发生这种情况。如何解决这个问题?

4

1 回答 1

12

这实际上不是 RxJava 错误,也不是 Retrofit。这是即时运行错误,我禁用了它并启动了我的应用程序。

作为临时解决方案,您也可以禁用Instant run

为此,请转到“设置”中的Build, Execution, Development-> Instant Run

于 2017-05-22T13:08:46.563 回答