2017-03-29 214 views
2

構建應用程序下面是依賴的Android,不能改造和RxJava 2

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

當我嘗試運行應用程序,我得到這個錯誤

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. 

com.android.build。 api.transform.TransformException:com.android.builder.packaging.DuplicateFileException:在APK中複製的重複文件META-INF/rxjava.properties File1:C:\ Users \ abondarenco.gradle \ caches \ modules-2 \ files-2.1 \ io.reactivex.rxjava2 \ rxjava \ 2.0.7 \ 21734c0092a5 d3c3ec99510e50c1ff76bdf0c65a \ rxjava-2.0.7.jar File2:C:\ Users \ abondarenco.gradle \ caches \ modules-2 \ files-2.1 \ io.reactivex \ rxjava \ 1.2.0 \ 42bfaf64c94f3848ebf5cf1c2ea4ec9d1b3ac6c8 \ rxjava-1.2.0.jar

我試着不adapter-rxjava運行的應用程序和它的作品,但是當我添加適配器,它說的是有重複的文件,它下載RxJava 1 ...

+0

更新了我的答案。發現你的問題 –

+0

http://stackoverflow.com/questions/42048520/rxandroid-and-retrofit-unable-to-create-call-adapter-for-io-reactivex-observabl –

回答

5

使用適配器的正確版本。

compile 'com.squareup.retrofit2:adapter-rxjava2:2.2.0' 
0

我知道它來不及回答這個線程,但我最近和能面臨着同樣的問題,通過更新模塊級的build.gradle文件來解決這個問題。

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

希望它能幫助一些人擺脫困境。