android - RxAndroid Room Flowable noClassDefError
问题描述
我需要处理Flowable<List<Object>>
由ObjectDao
.
道
@Dao
public interface DefectosDao
{
@Insert(onConflict = OnConflictStrategy.IGNORE)
void insertarDefectos(DefectoEntity defectos);
@Query("select * from defectos where cod_defecto = :cod")
Maybe<DefectoEntity> getByCod(String cod);
@Query("select * from defectos where pt = 1")
Maybe<List<DefectoEntity>> getPt();
@Query("select * from defectos where ct = 1")
Maybe<List<DefectoEntity>> getCt();
@Query("select * from defectos where apoyo = 1")
Flowable<List<DefectoEntity>> getApoyo();
}
处理程序
DataBase.getAppDatabase(Splash_Screen.this).Defecto().getApoyo()
.subscribeOn(Schedulers.newThread())
.observeOn(Schedulers.io())
.subscribe(item2->{
System.out.println(item2);});
错误
06-20 09:15:18.340 16255-16445/com.rpr.pronamic.rpr E/UncaughtException: io.reactivex.exceptions.UndeliverableException: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/arch/core/executor/AppToolkitTaskExecutor;
at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:367)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:69)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/arch/core/executor/AppToolkitTaskExecutor;
at android.arch.persistence.room.RxRoom$5$1.schedule(RxRoom.java:136)
at io.reactivex.Scheduler$Worker.schedule(Scheduler.java:372)
at io.reactivex.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.trySchedule(FlowableObserveOn.java:166)
at io.reactivex.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.request(FlowableObserveOn.java:143)
at io.reactivex.internal.subscribers.BasicFuseableConditionalSubscriber.request(BasicFuseableConditionalSubscriber.java:152)
at io.reactivex.internal.subscribers.BasicFuseableSubscriber.request(BasicFuseableSubscriber.java:153)
at io.reactivex.internal.subscribers.BasicFuseableSubscriber.request(BasicFuseableSubscriber.java:153)
at io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.requestUpstream(FlowableSubscribeOn.java:133)
at io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.onSubscribe(FlowableSubscribeOn.java:90)
at io.reactivex.internal.subscribers.BasicFuseableSubscriber.onSubscribe(BasicFuseableSubscriber.java:67)
at io.reactivex.internal.subscribers.BasicFuseableSubscriber.onSubscribe(BasicFuseableSubscriber.java:67)
at io.reactivex.internal.subscribers.BasicFuseableConditionalSubscriber.onSubscribe(BasicFuseableConditionalSubscriber.java:66)
at io.reactivex.internal.operators.flowable.FlowableObserveOn$ObserveOnConditionalSubscriber.onSubscribe(FlowableObserveOn.java:530)
at io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:70)
at io.reactivex.Flowable.subscribe(Flowable.java:14349)
at io.reactivex.internal.operators.flowable.FlowableObserveOn.subscribeActual(FlowableObserveOn.java:53)
at io.reactivex.Flowable.subscribe(Flowable.java:14349)
at io.reactivex.internal.operators.flowable.FlowableMap.subscribeActual(FlowableMap.java:36)
at io.reactivex.Flowable.subscribe(Flowable.java:14349)
at io.reactivex.internal.operators.flowable.FlowableFilter.subscribeActual(FlowableFilter.java:37)
at io.reactivex.Flowable.subscribe(Flowable.java:14349)
at io.reactivex.internal.operators.flowable.FlowableMap.subscribeActual(FlowableMap.java:38)
at io.reactivex.Flowable.subscribe(Flowable.java:14349)
at io.reactivex.Flowable.subscribe(Flowable.java:14295)
at io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run(FlowableSubscribeOn.java:82)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.arch.core.executor.AppToolkitTaskExecutor" on path: DexPathList[[zip file "/data/app/com.rpr.pronamic.rpr-1/base.apk", zip file "/data/app/com.rpr.pronamic.rpr-1/split_lib_dependencies_apk.apk", zip file "/data/app/com.rpr.pronamic.rpr-1/split_lib_slice_0_apk.apk", zip file "/data/app/com.rpr.pronamic.rpr-1/split_lib_slice_1_apk.apk", zip file "/data/app/com.rpr.pronamic.rpr-1/split_lib_slice_2_apk.apk", zip file "/data/app/com.rpr.pronamic.rpr-1/split_lib_slice_3_apk.apk", zip file "/data/app/com.rpr.pronamic.rpr-1/split_lib_slice_4_apk.apk", zip file "/data/app/com.rpr.pronamic.rpr-1/split_lib_slice_5_apk.apk", zip file "/data/app/com.rpr.pronamic.rpr-1/split_lib_slice_6_apk.apk", zip file "/data/app/com.rpr.pronamic.rpr-1/split_lib_slice_7_apk.apk", zip file "/data/app/com.rpr.pronamic.rpr-1/split_lib_slice_8_apk.apk", zip file "/data/app/com.rpr.pronamic.rpr-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.rpr.pronamic.rpr-1/lib/arm64, /system/fake-libs64, /data/app/com.rpr.pronamic.rpr-1/base.apk!/lib/arm64-v8a, /data/app/com.rpr.pronamic.rpr-1/split_lib_dependencies_apk.apk!/lib/arm64-v8a, /data/app/com.rpr.pronamic.rpr-1/split_lib_slice_0_apk.apk!/lib/arm64-v8a, /data/app/com.rpr.pronamic.rpr-1/split_lib_slice_1_apk.apk!/lib/arm64-v8a, /data/app/com.rpr.pronamic.rpr-1/split_lib_slice_2_apk.apk!/lib/arm64-v8a, /data/app/com.rpr.pronamic.rpr-1/split_lib_slice_3_apk.apk!/lib/arm64-v8a, /data/app/com.rpr.pronamic.rpr-1/split_lib_slice_4_apk.apk!/lib/arm64-v8a, /data/app/com.rpr.pronamic.rpr-1/split_lib_slice_5_apk.apk!/lib/arm64-v8a, /data/app/com.rpr.pronamic.rpr-1/split_lib_slice_6_apk.apk!/lib/arm64-v8a, /data/app/com.rpr.pronamic.rpr-1/split_lib_slice_7_apk.apk!/lib/arm64-v8a, /data/app/com.rpr.pronamic.rpr-1/split_lib_slice_8_apk.apk!/lib/arm64-v8a, /data/app/com.rpr.pronamic.rpr-1/split_lib_slice_9_apk.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
我已经尝试过Maybe
对象和Single
对象并且是正确的。
进口
implementation 'io.reactivex.rxjava2:rxjava:2.1.14'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
implementation 'android.arch.persistence.room:runtime:1.1.0'
implementation 'android.arch.persistence.room:rxjava2:1.0.0-alpha5'
implementation 'android.arch.lifecycle:extensions:1.1.1'
annotationProcessor 'android.arch.persistence.room:compiler:1.1.0'
我已经尝试使用RxJava版本1.0.1和2.0.1 - 同样的问题。
解决方案
推荐阅读
- ios - ScrollView 的宽度和高度与其子元素重叠
- java - 有没有办法使用 Spring boot 在 postgres DB 中使用 pg_tye_advisory_lock?
- javascript - 如何获取用户的年龄(以年为单位)
- c - pcap_set_rfmon 成功但没有效果
- google-cloud-speech - 什么是谷歌云语音要求/先决条件
- assembly - 为什么 SIMD 比标量对应物慢
- python - 通过 API KEY 对 YouTube 数据 API v3 进行 Google 身份验证
- javascript - 如何更改html元素pre中特定文本的颜色?
- unicode - 6706:Teradata 中的不可翻译字符
- python - 如何获取keras中每个测试图像的IOU值?