转载

使用Retrofit与RxJava需要注意的地方

一、报错情况

* What went wrong:
Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> More than one file was found with OS independent path 'META-INF/rxjava.properties'复制代码

前几天在首次使用Retrofit和RxJava报错,当时一直没有找到解决方案,并且网上百度的方案也无法解决。

后来无意中看到大佬写的一篇文章才得以解决该错误。 对应文章 (文中4.3步骤实现有介绍):

二、解决方案

参看这篇文章后,再回看自己的 build.gradle ,才知道对应的错误在哪儿

原来是这样写的:

//支持Gson解析
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
    implementation 'com.google.code.gson:gson:2.8.5'
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.0.2'

    //添加RxJava
    implementation 'io.reactivex.rxjava2:rxjava:2.2.14'
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'复制代码

错误就在这个库“ implementation 'com.squareup.retrofit2:adapter-rxjava:2.0.2' ”,该库时对应于 retrofit2RxJava ,而 不是 RxJava2

仅仅是这个错误才导致上述报错的原因,

附上正确的库:

//retrofit开源的网络请求工具
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'

    //添加RxJava
    implementation 'io.reactivex.rxjava2:rxjava:2.2.14'
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'

    //衔接Retrofit 和 RxJava
    //此处一定要注意使用RxJava2的版本
    implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'

    //支持Gson解析
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
    implementation 'com.google.code.gson:gson:2.8.5'
复制代码
原文  https://juejin.im/post/5ddac186f265da7e243d0a5e
正文到此结束
Loading...