Android 什么';使用可观测数据进行改装时,这种方法是否异常?

Android 什么';使用可观测数据进行改装时,这种方法是否异常?,android,reactive-programming,observable,retrofit,rx-java,Android,Reactive Programming,Observable,Retrofit,Rx Java,我想把这个答案记录在这里,以解决其他遇到我遇到的同样问题的人的困惑。使用rxjavacore的v0.18和rxjavaandroid,每当我试图从改造调用返回一个可观察的时,我都会得到以下NoSuchMethod异常 java.lang.NoSuchMethodError:rx.schedulers.schedulers.executor 为什么会发生这种情况?如何修复这种情况?RxJava的0.18版已弃用并删除了Schedulers.executor。RxJava团队认为,支持此调度器和维护

我想把这个答案记录在这里,以解决其他遇到我遇到的同样问题的人的困惑。使用rxjavacore的v0.18和rxjavaandroid,每当我试图从改造调用返回一个可观察的时,我都会得到以下NoSuchMethod异常

java.lang.NoSuchMethodError:rx.schedulers.schedulers.executor


为什么会发生这种情况?如何修复这种情况?

RxJava的0.18版已弃用并删除了Schedulers.executor。RxJava团队认为,支持此调度器和维护可观察对象的功能性反应契约存在太多问题。看来改造依赖于此调度器来提供可观察的结果

有三种选择:

  • 现在使用RxJava的0.17版本。您应该知道,executor scheduler并没有完成整个可观察对象的反应契约。阅读以下错误链接了解详细信息,以便了解现有实现的弱点:

    RxJava中有一些新的调度器实现,可以解决原始executor调度器存在的问题。你也可以

  • 等待新的改装以解决此问题,或者

  • 对库的副本进行热修补,以使用另一个可能表现不同的调度器实现
  • 我会编辑我的答案,并提交一个拉请求,如果我能想出一个通用补丁来改装这个问题。我现在不知道有什么好的选择。在这一点上,RxJava的作者们正在热烈讨论这个问题

    使用改装1.5.1

    从它的重点补充说

    版本1.5.1(2014-05-08)
    • 新:@PartMap注释接受多部件的键/值对映射
    • 修复:MockRestAdpater使用其父RestAdapter中的ErrorHandler
    • 实验性RxJava支持已针对v0.18更新,现在已延迟初始化

    谢谢,杰克。我把我的改装库固定在Gradle的1.4.+上。