Вопрос:

RxJava 1 и RxJava 2 в одном проекте

android rx-java rx-java2

587 просмотра

1 ответ

2052 Репутация автора

Наш проект использует 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 могут использоваться одновременно, почему я все еще получаю эту ошибку?

Автор: darklord Источник Размещён: 28.06.2017 12:53

Ответы (1)


4 плюса

3642 Репутация автора

Файл rxjava.properties не требуется во время выполнения.

Таким образом, вы можете исключить файл во время упаковки вашего приложения для Android, установив packageOptions в файле app / build.gradle, как показано ниже.

android {
    ...
    packagingOptions {
        exclude 'META-INF/**rxjava.properties**'
    }
}
Автор: Arnav Rao Размещён: 28.06.2017 04:43
Вопросы из категории :
32x32