有一个类似的问题here,但它并没有真正回答这个问题。
我一直在Android应用程序中使用RxJava和RxAndroid,现在该项目正常运行。
然后我删除了RxJava并且只留下了RxAndroid,项目继续工作。 但是,我不太了解RxJava和RxAndroid是否知道从长远来看是否只会遗漏RxAndroid。
我读到的关于RxAndroid的一切都是它是RxJava的扩展,但是这是一个真正的扩展,意味着RxJava拥有一些特定的东西(比如AndroidSchedulers)吗?
我还需要两个吗?是否存在保持两种依赖关系的缺点?
谢谢。
答案 0 :(得分:6)
你只能声明RxAndroid,并且RxJava将被拉,因为它是一个传递依赖。
但是,您可以在RxAndroid的自述文件中找到以下注释:
RxAndroid版本很少见,建议您明确依赖RxJava的最新版本来修复错误和新功能。
如果您将RxJava添加到依赖项中,则可以随时升级RxJava,如果您需要一些重要的修复程序或功能,并且不需要等待RxAndroid的新版本。
答案 1 :(得分:1)
我假设您为Android项目使用Gradle构建系统,在这种情况下,您的问题实际上与使用RxJava或RxAndroid有关。
假设您的build.gradle
文件中有两个依赖项:RxJava和RxAndroid。当您删除RxJava依赖项时,Gradle仍会查看RxAndroid依赖项,以确定它依赖于它的依赖性。
RxAndroid:RxJava上的1.1.0 depends:1.1.0。因此,如果您删除的行明确指定您希望在项目中使用RxJava:1.1.2,那么它将被降级回1.1.2 - > 1.1.0。