Maven リポジトリを介して Zendesk モバイル SDK をプロジェクトに統合しましたが、ビルドされなくなりました。私が使用している picasso ライブラリと何らかの衝突があります。ビルド中に次のエラーが発生します。
Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
> java.util.zip.ZipException: duplicate entry: com/squareup/picasso/Action$RequestWeakReference.class
app フォルダーで実行../gradlew dependencies
したところ、zendesk モジュールの下に次のようなものが見つかりました。
\--- com.zendesk:sdk:1.0.0.1
+--- com.squareup.retrofit:retrofit:1.4.1
| \--- com.google.code.gson:gson:2.2.4
+--- com.squareup.picasso:picasso:2.3.2
+--- com.android.support:support-v4:20.0.+ -> 21.0.3 (*)
\--- com.android.support:appcompat-v7:20.0.+ -> 21.0.3 (*)
そのため、zendeskもピカソを使用していますが、私のプロジェクトにあるものとは異なるバージョンです。次のように、ピカソをzendeskから除外してみました:
compile (group: 'com.zendesk', name: 'sdk', version: '1.0.0.1'){
exclude group: 'com.squareup.picasso'
}
ただし、これにより、アプリの他のコンポーネントで実行時例外が発生します。ライブラリとはまったく関係のないクラスで NoDefFoundError が発生します。
この問題を回避する方法を知っている人はいますか?