Android,无法使用Retrofit和RxJava 2构建应用程序

时间:2017-03-29 15:08:07

标签: android retrofit rx-java rx-java2

以下是依赖项

compile 'com.squareup.retrofit2:retrofit:2.2.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.7'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.squareup.retrofit2:adapter-rxjava:2.2.0'
compile 'com.google.code.gson:gson:2.7'
compile 'com.squareup.retrofit2:converter-gson:2.0.0'

当我尝试运行应用时出现此错误

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
  

com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException:在APK META-INF / rxjava.properties中复制的重复文件       File1:C:\ Users \ abondarenco.gradle \ _caches \ modules-2 \ files-2.1 \ io.reactivex.rxjava2 \ rxjava \ 2.0.7 \ 21734c0092a5d3c3ec99510e50c1ff76bdf0c65a \ rxjava-2.0.7.jar       File2:C:\ Users \ abondarenco.gradle \ _caches \ modules-2 \ files-2.1 \ io.reactivex \ rxjava \ 1.2.0 \ 42bfaf64c94f3848ebf5cf1c2ea4ec9d1b3ac6c8 \ rxjava-1.2.0.jar

我尝试在没有adapter-rxjava的情况下运行应用程序并且它可以工作,但是当我添加适配器时它说有重复的文件,它会下载RxJava 1 ...

2 个答案:

答案 0 :(得分:5)

使用适当版本的适配器。

compile 'com.squareup.retrofit2:adapter-rxjava2:2.2.0'

答案 1 :(得分:0)

我知道在这个帖子上回答太晚了,但我最近遇到了同样的问题,并且能够通过更新模块级 build.gradle 文件来解决这个问题。

android {
  packagingOptions{
      exclude 'META-INF/rxjava.properties'
  }
}

希望它可以帮助一些人摆脱这个问题。