2016-09-28 9 views
1

私のアプリケーションにretrofitとOkhttpを使用し、いくつかのエラーがスローされました。最初に私はコンパイルされたokioとgsonを除外して解決しましたが、うまくいけば、毎回エラーが発生します。エラー:タスク ':app:transformClassesWithJarMergingForDebug'の実行に失敗しました。 > com.android.build.api.transform.TransformException:java.util.zip.ZipException:エントリがcom/google/gson/annotations/Expose.classに重複し、別の時間にOkioのものをOkio/asyncTimeoutとして呼び出すと、どうすればこの問題を解決できますか?あなたが複製さGsonとOkio瓶を持ってRetrofitとOkhttpが私のアプリケーションでうまく動作しない

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile files('libs/mobilesec.jar') 
    compile files('libs/org-apache-commons-codec.jar') 
    compile files('libs/apache-commons-lang.jar') 
    compile files('libs/core-1.51.0.0.jar') 
    compile files('libs/gson-2.0.2.jar') 
    compile files('libs/okio-1.2.0.jar') 
    compile files('libs/sqliteassethelper-2.0.1.jar') 
    compile 'com.android.support:support-v4:21.+' 
    compile 'com.android.support:appcompat-v7:21.+' 
    compile files('libs/gcm.jar') 
    compile 'com.crittercism:crittercism-android-agent:+' 
    compile 'com.google.android.gms:play-services-wearable:6.5.87' 
    compile ('com.squareup.okhttp3:logging-interceptor:3.2.0'){ 
     exclude module: 'com.squareup.okio' 
    } 
    compile 'com.android.support:multidex:1.0.0' 

} 
+0

本当にokhttp依存関係が必要ですか?私が知る限り、Retrofitはokhttpの上に構築されています。 – Vall0n

+0

よく人々はGradleを使用してランダムなジャーの代わりに依存関係を実現します – EpicPandaForce

答えて

0

..

compile files('libs/gson-2.0.2.jar') 
compile files('libs/okio-1.2.0.jar') 

けど...なぜあなたは両方のローカル瓶やリモートリポジトリ経由で依存関係をロードしているを削除しますか?リモートの依存関係のみを使用することをお勧めします。

EDIT:コマンドgradle dependenciesを使用して依存関係ツリーを表示できます。それを実行し、gsonが2回追加された理由を確認してください。

+0

リモートリポジトリ経由でローカルジャーをロードすることの不利益を私に説明してもらえますか? –

+0

答えを今すぐ試しています –

+0

エラー:タスク ':app:transformClassesWithJarMergingForDebug ' > com.android.build.api.transform.TransformException:java.util.zip.ZipException:重複エントリ:com/google/gson/annotations/Expose.class –

関連する問題