android - Entrada duplicada de Gradle: java.util.zip.ZipException
android-studio android-gradle (1)
Cuando agregó la dependencia com.android.support:multidex
, en realidad agregó algunas dependencias que chocan con otras dependencias.
Lo resolví por:
---------------
1. buscando la clase, en su caso, el "RequestWeakReference.class" (en AndroidStudio simplemente presione Ctrl + N en Windows o CMD-O en Mac)
2. Ver qué tarro lo contiene: Android Studio lo escribirá en la ventana emergente.
3. Exclúyelo de todas las construcciones, por ejemplo:
android {
configurations{
all*.exclude module: ''servlet-api''
}
}
Integré el sdk móvil de Zendesk a través de su repositorio de Maven en mi proyecto y ya no se construiría. Tiene algún tipo de conflicto con la biblioteca de picasso que estoy usando. Recibo este error durante la compilación:
Error:Execution failed for task '':app:packageAllDebugClassesForMultiDex''.
> java.util.zip.ZipException: duplicate entry: com/squareup/picasso/Action$RequestWeakReference.class
../gradlew dependencies
en la carpeta de la aplicación y esto es lo que encontré en el módulo 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 (*)
Entonces, zendesk también usa picasso, pero es una versión diferente a la que tengo en mi proyecto. Intenté excluir picasso de zendesk de esta manera:
compile (group: ''com.zendesk'', name: ''sdk'', version: ''1.0.0.1''){
exclude group: ''com.squareup.picasso''
}
pero esto causa excepciones de tiempo de ejecución en otros componentes de la aplicación. Obtengo un NoDefFoundError para una clase totalmente no relacionada con las bibliotecas.
¿Alguien tiene alguna idea de cómo solucionar este problema?