使用RxKotlin时如何指定RxJava的版本?

How to specify the version of RxJava when using RxKotlin?

GitHub 上的 RxKotlin 存储库中的文档没有指定显式依赖最新 RxJava 版本的方法。

如果我们看到库的 build.gradle 文件,它现在使用 compile 'io.reactivex.rxjava2:rxjava:2.1.0'

但是如果我们想跟上最新的 RxJava 版本而不是库中的版本怎么办。

您可以在项目中覆盖 RxJava 的版本 build.gradle

如果您在 Gradle/Maven 中像这样明确指定 RxJava 的指定版本(并覆盖 RxKotlin 的)将被选中:

dependencies {
    compile 'io.reactivex.rxjava2:rxjava:2.1.1'
    compile 'io.reactivex.rxjava2:rxkotlin:2.1.0'
}

这在 RxAndroid 自述文件中也有说明。 我和 RxKotlin 的一位贡献者聊了聊,他说就像 RxAndroid 一样,他们也在内部使用相同的策略。

如果您在 build.gradle 中定义 rxjava 版本,gradle 将采用最新定义的版本(您的版本或库中的版本,具体取决于哪个是最新版本) .

所以你可以

dependencies {
    compile 'io.reactivex.rxjava2:rxjava:2.1.1'
}

或者如果您总是希望拥有最新版本

dependencies {
    compile 'io.reactivex.rxjava2:rxjava:+'
}

但请注意 rxkotlin 库中的问题,如果版本不再兼容(例如,您继续使用 rxkotlin:2.xrxjava 3.x。所以这是更新的好方法rxkotlin 如果可能的话。