Android开发问题日记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u014112893/article/details/78248555

1. 使用 Rxjava2 和 Retrofit2 依赖库运行项目报错 :

<问题出现>

依赖库:

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

之后报错如下:

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/rxjava.properties
    File1: C:\Users\CC\.gradle\caches\modules-2\files-2.1\io.reactivex.rxjava2\rxjava\2.0.1\57f850a6b317e5582f1dbaff10a9e7d7e1fcdcfb\rxjava-2.0.1.jar
    File2: C:\Users\CC\.gradle\caches\modules-2\files-2.1\io.reactivex\rxjava\1.3.0\af000bec2036a2a9d07197c4b03b8966bfc60b03\rxjava-1.3.0.jar

<解决办法>

方法一(推荐):

因为在依赖 com.squareup.retrofit2:adapter-rxjava:2.2.0 时会出现与Rxjava冲突的版本。
com.squareup.retrofit2:adapter-rxjava:2.2.0 更换成 com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0 就没问题了。

方法二:

modulebuild.gradle 中的 android 块内添加:

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

猜你喜欢

转载自blog.csdn.net/u014112893/article/details/78248555