I integrated the Zendesk mobile sdk through its maven repository into my project and it wouldn't build anymore. It has some kind of a clash with picasso library that i am using. I get this error during the build:
Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
> java.util.zip.ZipException: duplicate entry: com/squareup/picasso/Action$RequestWeakReference.class
I ran ../gradlew dependencies
on the app folder and this is what i found under zendesk module:
--- 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 (*)
So zendesk is also using picasso but a different version than what i have in my project. I tried excluding picasso from zendesk like this:
compile (group: 'com.zendesk', name: 'sdk', version: '1.0.0.1'){
exclude group: 'com.squareup.picasso'
}
but this causes runtime exceptions in other components of the app. I get a NoDefFoundError for a class totally unrelated to the libraries.
Does any one have any idea how to get around this problem ?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…