2017-07-19 161 views
0

我有一個Android應用程序,它依賴於RxAndroid(基於RxJava2)。 我還添加了RxAdnroidBle依賴關係,其中still uses RxJava1我可以在同一個項目中使用RxAndroidBle和RxJava2嗎?

在編譯過程中,我有以下錯誤:

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/eddy/.gradle/caches/modules-2/files-2.1/io.reactivex.rxjava2/rxjava/2.1.0/2fdf84dedcaaeabb9d70cde9dbb8aad4eccb80a1/rxjava-2.1.0.jar 
    File2: /home/eddy/.gradle/caches/modules-2/files-2.1/io.reactivex/rxjava/1.3.0/af000bec2036a2a9d07197c4b03b8966bfc60b03/rxjava-1.3.0.jar 

其中我solved通過將以下塊build.gradle

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

我看來,一切工作正常。但只是爲了確保 - 將兩個RxJava庫作爲依賴關係可能會導致任何問題?

感謝,

回答

1

他們生活在不同的包,這樣你們就可以一起

使用它們從公報文檔

To allow having RxJava 1.x and RxJava 2.x side-by-side, RxJava 2.x is under the maven coordinates io.reactivex.rxjava2:rxjava:2.x.y and classes are accessible below io.reactivex

在這裏,我們可以看到他們可以在一個被並排側項目

https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-2.0

+0

你能詳細說一下嗎? – Medvednic

+0

我更新了我的答案 –

+0

謝謝!不能相信我錯過了那條線。 – Medvednic

相關問題