Gradle Double Entrée: java.util.zip.ZipException
J'ai intégré l'Zendesk mobile sdk par le biais de son repository maven dans mon projet et il ne serait pas construire plus. Il a une sorte de contradiction avec picasso bibliothèque que j'utilise. J'ai cette erreur lors de la compilation:
Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
> java.util.zip.ZipException: duplicate entry: com/squareup/picasso/Action$RequestWeakReference.class
J'ai couru ../gradlew dependencies
sur le dossier app et c'est ce que j'ai trouvé en vertu de 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 (*)
Donc zendesk est également à l'aide de picasso, mais une version différente de ce que j'ai dans mon projet. J'ai essayé à l'exclusion de picasso à partir de zendesk comme ceci:
compile (group: 'com.zendesk', name: 'sdk', version: '1.0.0.1'){
exclude group: 'com.squareup.picasso'
}
mais cela provoque des exceptions d'exécution dans d'autres composants de l'application. Je reçois un NoDefFoundError pour une classe totalement sans rapport avec les bibliothèques.
Ce que quelqu'un a une idée de comment contourner ce problème ?
- Seriez-vous en mesure de publier l'complet de construire".gradle" le fichier que vous utilisez? Merci.
Vous devez vous connecter pour publier un commentaire.
Lorsque vous avez ajouté l'
com.android.support:multidex
dépendance-vous réellement ajouté quelques dépendances qui entrent en collision avec d'autres dépendances.Je l'ai résolu en:
---------------
1. la recherche de la classe, dans votre cas l' "RequestWeakReference.class" (dans AndroidStudio vient de frapper Ctrl+N sur Windows ou CMD sur Mac)
2. Voir jar contient elle - Android Studio de l'écrire dans la fenêtre contextuelle.
3. L'exclure de toutes les versions, par exemple:
build.gradle
et j'ai joué un peu avec le gradle fichier jusqu'à ce que je l'ai eu à travailler.