如何解决Android中Rx Java版本1和2的冲突依赖性

时间:2017-09-13 04:55:40

标签: android

我只使用了RxJava2,但为什么与RxJava1.1.5

发生冲突

我得到以下异常:

  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: /home/panhao/Android/myGradle/caches/modules-2/files-2.1/io.reactivex.rxjava2/rxjava/2.0.0-RC5/ecd92d1147d9858c23087801a3bc2f323d481472/rxjava-2.0.0-RC5.jar
  File2: /home/panhao/Android/myGradle/caches/modules-2/files-2.1/io.reactivex/rxjava/1.1.5/ece7b5d0870e66d8226dab6dcf47a2b12afff061/rxjava-1.1.5.jar

1 个答案:

答案 0 :(得分:0)

由于下面提到的两个主要原因而发生问题。

  1. 您可能忘记从gradle或libs中删除旧版本依赖项以获取Rxjava
  2. 或者您的项目可能包含一些库模块,这些库模块可能依赖于您在项目中使用的相同库的较旧版本或较新版本。
  3.   

    您需要添加以下提到的解决方案策略   项目build.gradle文件。这将强制您的项目使用   提到的库版本

    android{
    .......
      configurations.all {
          resolutionStrategy {
            force 'io.reactivex.rxjava2:rxandroid:2.0.1'
          }
      }
    }