Android rxJava升级到2.2.20后应用程序崩溃

Android rxJava升级到2.2.20后应用程序崩溃,android,rx-java,Android,Rx Java,我将我的Rxjava版本从2.1.10升级到2.2.20,之后我的应用程序在发布时不断崩溃,以下是例外 E/AndroidRuntime:致命异常:main java.lang.NoSuchFieldError:没有Lio/reactivex/internal/Fusable/QueueDisposable类型的实例字段qs;课堂上 Lcom/tspoon/traceur/ObservableOnAssemblyObserver;或其 超类(声明 此时会出现“com.tspoon.traceur

我将我的Rxjava版本从2.1.10升级到2.2.20,之后我的应用程序在发布时不断崩溃,以下是例外

E/AndroidRuntime:致命异常:main
java.lang.NoSuchFieldError:没有Lio/reactivex/internal/Fusable/QueueDisposable类型的实例字段qs;课堂上 Lcom/tspoon/traceur/ObservableOnAssemblyObserver;或其 超类(声明 此时会出现“com.tspoon.traceur.observeyonSassemblyObserver上的assembly$assembly” in/data/app/-Yk-whoe9eourhynyysvfq===/base.apk!classes4.dex) 在com.tspoon.traceur.ObserveOnAssemblyObserver.requestFusion(ObserveOnAssembly.java:67)上访问com.tspoon.traceur.ObserveOnAssembly$OnAssemblyObserver.requestFusion 在io.reactivex.internal.operators.observable.ObserveObserveOn$ObserveObserveOnSubscribe(ObserveObserveOn.java:86) 在io.reactivex.internal.observer.BasicFuseableObserver.onSubscribe(BasicFuseableObserver.java:66) 在io.reactivex.internal.observer.BasicFuseableObserver.onSubscribe(BasicFuseableObserver.java:66) 在io.reactivex.internal.operators.observable.observablePlay$ReplaySource.subscribe(observablePlay.java:1009) 在io.reactivex.internal.operators.observable.observablePlay.subscribeActual(observablePlay.java:170) 在io.reactivex.Observable.subscribe(Observable.java:12267) 在com.tspoon.traceur.ObserveOnAssemblyConnectable.subscribeActual上(ObserveOnAssemblyConnectable.java:42) 在io.reactivex.Observable.subscribe(Observable.java:12267) 在io.reactivex.internal.operators.observable.ObservableAutoConnect.subscribeActual(ObservableAutoConnect.java:46) 在io.reactivex.Observable.subscribe(Observable.java:12267) 在com.tspoon.traceur.ObserveOnAssembly.subscribeActual上(ObserveOnAssembly.java:43) 在io.reactivex.Observable.subscribe(Observable.java:12267) 在io.reactivex.internal.operators.observable.ObserveObserveOn.subscribeActual(ObserveObserveOn.java:45) 在io.reactivex.Observable.subscribe(Observable.java:12267) 在com.tspoon.traceur.ObserveOnAssembly.subscribeActual上(ObserveOnAssembly.java:43) 在io.reactivex.Observable.subscribe(Observable.java:12267) 在io.reactivex.Observable.subscribe(Observable.java:12253) 在io.reactivex.Observable.subscribe(Observable.java:12181)

在代码中,我定义了观察者,如下所示

 private Subject<ChangeEvent> callStateEventPs = PublishSubject.<ChangeEvent>create().toSerialized();
private Observable<ChangeEvent> eventCachingObservable = callStateEventPs.replay(1).autoConnect();

//and later i was trying to subscribe it like below
Disposable disposable = eventCachingObservable
                .observeOn(mainThread())
                .subscribe(StateEvent -> doMyJob(), ErrorHandler::logError);

//in gradle file
implementation 'io.reactivex.rxjava2:rxjava:2.2.20'
private Subject callstateventps=PublishSubject.create().toSerialized();
private Observable eventCachingObservable=callStateEventPs.replay(1.autoConnect();
//后来我试着像下面那样订阅它
一次性使用=EventCachingServable
.observeOn(主线程())
.subscribe(StateEvent->doMyJob(),ErrorHandler::logError);
//在渐变文件中
实现'io.reactivex.rxjava2:rxjava:2.2.20'

任何指导都会非常有用,我对此完全无能为力。

Traceur似乎依赖于非常旧的RxJava版本。尝试解决方法。切换到coroutinesthanks@akarnokd,这真的救了我,工作得很有魅力。