5

Android Studio の既存のアプリケーション モジュールに新しいライブラリ モジュールを追加しました。主な違いは、RxJava 2 と Retrofit 2 を追加したことです。新しいモジュールの build.gradle を更新した後、次のエラーが発生し始めました。

エラー: タスク ':app:transformResourcesWithMergeJavaResForBetaNewApiDebug' の実行に失敗しました。com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: 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

RxJava に問題があるようです (RxJava 2 を試してみたいのですが、RxJava 1 と RxJava 2 の両方が表示されます)。すべての依存関係を追加した直後に問題が発生しRxJavaます。メインアプリケーションでは使用しません。

更新: 以下で述べたように、3 つのトピックを確認しました (以下で確認できます)。この問題:重複の可能性は、以下で既に言及したものと似ています: this one。どちらにも、回答で下線を引いた実際の問題を考慮していない回避策があります。そして答えは、「現時点では、Retrofit 2 から RxJava 2 への本番対応のアダプターはありません」です (詳細については、以下の回答を参照してください)。

私はいくつかのトピックをチェックしました.1 は具体的な問題の具体的な解決策であり、2rxbindingsつ目は. 「rxjava 2 and retrofit 2」をグーグルで検索しようとしましたが、解決策が見つかりませんでした。

build.gradleライブラリは次のとおりです。

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'

}

問題は、
なぜこの問題が発生するのか、そしてそれを処理する適切な方法は何かということです。

4

2 に答える 2