【问题标题】:RxJava 1 and RxJava 2 in the same project [duplicate]同一个项目中的 RxJava 1 和 RxJava 2 [重复]
【发布时间】:2017-06-28 00:53:18
【问题描述】:

我们的项目使用 RxJava 1:

compile 'io.reactivex:rxjava:1.1.6'

我们使用了一个内部使用 RxJava 2 的库:

compile 'io.reactivex.rxjava2:rxjava:2.0.9'

当我执行./gradlew assembleDebug 时,我收到此错误:

com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/rxjava.properties
      File1: /Users/darklord/.gradle/caches/modules-2/files-2.1/io.reactivex/rxjava/1.1.6/2586312cd2b8a511e4c6236736f5a039fc0f2273/rxjava-1.1.6.jar
      File2: /Users/darklord/.gradle/caches/modules-2/files-2.1/io.reactivex.rxjava2/rxjava/2.0.9/a5aad74623ade11162dd53cdf0645a51b12221a0/rxjava-2.0.9.jar

好像说 RxJava 1 和 RxJava 2 可以同时使用,为什么还是会出现这个错误?

【问题讨论】:

  • 猜猜 google 为 Duplicate files copied in APK META-INF/rxjava.properties 返回什么 - 一个解决方案

标签: android rx-java rx-java2


【解决方案1】:

运行时不需要 rxjava.properties 文件。

因此,您可以在打包您的 android 应用时排除该文件,方法是在 app/build.gradle 文件中设置 PackagingOptions,如下所示。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-30
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 2017-03-31
    相关资源
    最近更新 更多