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

tof*_*ffe 13 android rx-java retrofit2 android-studio-3.0

我在最新的AndroidStudio预览版中使用了RxJava和Retrofit.我的项目启用了java 1.8 suport,如下所示:

compileOptions {
    targetCompatibility 1.8
    sourceCompatibility 1.8
}
Run Code Online (Sandbox Code Playgroud)

但是当编译并运行代码时,即使我有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)
Run Code Online (Sandbox Code Playgroud)

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

Nik*_*aev 12

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

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

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