Usando RxJava 2 y Retrofit 2, problema de versión del adaptador

He agregado un nuevo módulo de biblioteca al módulo de aplicación existente en Android Studio. La principal diferencia fue agregar RxJava 2 y Retrofit 2. Después de actualizar build.gradle del nuevo módulo, comencé a recibir el siguiente error:

Error: Error en la ejecución de la tarea ': aplicación: transformResourcesWithMergeJavaResForBetaNewApiDebug'. com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: archivos duplicados copiados en APK META-INF / rxjava.properties File1: C: \ Users \ Gaket.gradle \ caches \ modules-2 \ files-2.1 \ io.reactivex.rxjava2 \ rxjava \ 2.0.2 \ cfccdd18cdfbe7b4773d42c9f3512eeafbe5cbf9 \ rxjava-2.0.2.jar File2: C: \ Users \ Gaket.gradle \ caches \ modules-2 \ files-2.1 \ io.reactivex \ rxjava \ 1.1.5 \ ece7b5d0870e66d8226dab6dcf47a2b12afff061 \ rxjava-1.1.5.jar

Veo que hay algún problema con RxJava (quiero probar RxJava 2 y aquí veo tanto RxJava 1 como RxJava 2). El problema surge justo después de agregar todas las dependencias, no utilizamosRxJava En nuestra aplicación principal.

Actualizar: Como mencioné a continuación, verifiqué tres temas (puede verlo a continuación). Este problema:posible duplicado es similar al que ya menciono a continuación:éste. Ambos tienen soluciones alternativas que no tienen en cuenta el problema real que subrayé en mi respuesta. Y ella respuesta es "No hay un adaptador listo para producción de Retrofit 2 a RxJava 2 en este momento" (todos los detalles se describen en la respuesta a continuación).

Revisé varios temas:primero es una solución concreta para un problema concreto,segundo habla sobrerxbindings, pero no los uso, algunos otros tampoco han resuelto mi problema ni parecen soluciones totaleséste. Intenté buscar en Google "rxjava 2 y actualizar 2" pero no he encontrado una solución.

Aquí está elbuild.gradle de biblioteca:

apply plugin: 'com.android.library'
apply plugin: 'com.jakewharton.butterknife'

android {
compileSdkVersion 25
buildToolsVersion "25.0.0"

defaultConfig {
    minSdkVersion 15
    targetSdkVersion 24
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}



dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',      {
    exclude group: 'com.android.support', module: 'support-annotations'
})

compile "com.android.support:appcompat-v7:$supportLibraryVersion"
compile "com.android.support:recyclerview-v7:$supportLibraryVersion"

compile 'io.reactivex.rxjava2:rxjava:2.0.2'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.squareup.okhttp3:okhttp:3.5.0'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile "com.makeramen:roundedimageview:1.3.0"

annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
provided 'javax.annotation:jsr250-api:1.0'
compile 'com.jakewharton:butterknife:8.4.0'

testCompile 'junit:junit:4.12'

}

La pregunta es:
¿Por qué ocurre este problema y cuál es la forma correcta de manejarlo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta