最近要在 使用RxJava2,因为要使用 aar 包,但导入的在线包又太多,所以使用 jar 包方式 ,在导入RxJava 2.0.1 和RxAndroid 2.0.1的jar包后, 使用subscribeOn和observOn的切换线程的时候,没法使用。
错误信息:
FATAL EXCEPTION:main
Process: com.xxx.xxxx, PID: 12345
java.lang.NoClassDefFoundError:io.reactivex.Flowable
at io.reactivex.Observable.bufferSize(Observable.java:122)
at io.reactivex.Observable.zip(Observable.java:3627)
.........
解决方案
从错误信息看,Flowable类找不到定义,那就是类加载器加载的时候出错了,看了下jar包中对应包下,这个类是存在的。于是考虑是不是rxandroid.jar 缺少了其它依赖包,上maven中央仓库查找对应RxJava 2.0.1的包需要依赖什么jar库,果然Runtime Dependencies下有个reactive-streams的依赖,下载1.0.0的包,导入eclipse的libs目录中,完美解决。
另外,使用 Okhttp.jar 同样也需要注意相关的包。
这里提供一份使用 rxjava,rxandroid 全包。