解析失败:Lcom/google/devtools/build/android/desugar/runtime/ThrowableExtension;

Failed resolution of: Lcom/google/devtools/build/android/desugar/runtime/ThrowableExtension;

我在 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,也会发生这种情况。如何解决这个问题?

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

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

要执行此操作,请转到“设置”中的 Build, Execution, Development -> Instant Run