Usando RxJava 2 e Retrofit 2, problema de versão do adaptador

Adicionei um novo módulo de biblioteca ao módulo de aplicativo existente no Android Studio. A principal diferença foi adicionar o RxJava 2 e o Retrofit 2. Após atualizar o build.gradle do novo módulo, comecei a receber o próximo erro:

Erro: Falha na execução da tarefa ': app: transformResourcesWithMergeJavaResForBetaNewApiDebug'. com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: arquivos duplicados copiados no 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

Vejo que há algum problema com o RxJava (quero experimentar o RxJava 2 e aqui vejo RxJava 1 e RxJava 2). O problema surge logo após adicionar todas as dependências, não usamosRxJava em nossa aplicação principal.

Atualizar: Como mencionei abaixo, verifiquei três tópicos (você pode vê-lo abaixo). Esse problema:possível duplicado é semelhante ao que eu já mencionei abaixo:este. Ambos têm soluções alternativas que não levam em conta o problema real que sublinhei em minha resposta. E aa resposta é "Não há adaptadores prontos para produção do Retrofit 2 para o RxJava 2 no momento" (detalhes completos descritos na resposta abaixo).

Eu verifiquei vários tópicos:primeiro é uma solução concreta para um problema concreto,segundo fala sobrerxbindings, mas não os uso, alguns outros também não resolveram meu problema ou parecem soluções alternativaseste. Tentei pesquisar no google "rxjava 2 e retrofit 2", mas não encontrei uma solução.

Aqui está obuild.gradle da 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'

}

A questão é:
Por que esse problema ocorre e qual é a maneira correta de lidar com isso?

questionAnswers(2)

yourAnswerToTheQuestion