android - support - java.util.zip.ZipException: entrada duplicada durante packageAllDebugClassesForMultiDex
multidex powder para que sirve (20)
No estoy seguro de lo que significa este error.
Execution failed for task '':excelSior:packageAllDebugClassesForMultiDex''.
> java.util.zip.ZipException: duplicate entry: android/support/v4/util/TimeUtils.class
Actualmente estoy usando android-support-v4.jar
para mis bibliotecas
dependencies {
compile project('':addThisSDK'')
compile project('':centeredContentButton'')
compile project('':googleplayservices_lib'')
compile files(''libs/adxtag2.4.6.jar'')
compile files(''libs/android-support-v4.jar'')
compile files(''libs/aws-android-sdk-1.7.1.1-debug.jar'')
compile files(''libs/commons-lang-2.6.jar'')
compile files(''libs/crittercism_v4_4_0_sdkonly.jar'')
compile files(''libs/dd-plist.jar'')
compile files(''libs/FiksuAndroidSDK_4.1.1.jar'')
compile files(''libs/iqengines-sdk-barcode.jar'')
compile files(''libs/irEventTracker-1.2.jar'')
compile files(''libs/jolt-core-0.0.7.jar'')
compile files(''libs/json-utils-0.0.7.jar'')
compile files(''libs/jsoup-1.7.2.jar'')
compile files(''libs/kooaba-api-v4-java.jar'')
compile ''com.android.support:multidex:1.0.0''
}
El error no aparece durante la sincronización gradle. Justo cuando intento ejecutar la aplicación
¿Cual podría ser el problema?
¿Necesita comprobar que ha insertado la biblioteca v4 y compilar la biblioteca? No debe repetir la biblioteca en su aplicación o su programa de dependencia.
elimine la biblioteca de repetición para que solo quede un V4.
en su aplicación dir build.gradle
file, agregue este comando:
android{
configurations {
all*.exclude group: ''com.android.support'', module: ''support-v4''
all*.exclude group: ''com.android.support'', module: ''support-annotations''
}
}
¡esto funciona para mi! ¡Puedes probarlo!
En mi caso el error exacto estaba debajo
'': android: transformClassesWithJarMergingForDebug''.
com.android.build.api.transform.TransformException: java.util.zip.ZipException: entrada duplicada: com / google / android / gms / internal / zzqx.class
Estaba usando otra versión de google apis, es decir, en un archivo gradle de módulos
if (!project.hasProperty(''gms_library_version'')) {
ext.gms_library_version = ''8.6.0''
}
Sin embargo, en otros módulos la versión 11.6.0 es la siguiente
compile "com.google.android.gms:play-services-ads:11.6.0"
compile "com.google.android.gms:play-services-games:11.6.0"
compile "com.google.android.gms:play-services-auth:11.6.0"
Sin embargo, para encontrar esto hice un Ctrl + n en el estudio android e ingresé el nombre de clase zzqx.class y luego se visualizaron 2 archivos jar que se extraen para esta clase y luego entendí que en algún lugar estoy usando la versión 8.6.0. Al cambiar 8.6.0 a 11.6.0 y reconstruir el proyecto, el problema se solucionó.
Espero que esto ayude .
Más sobre esto aquí https://www.versionpb.com/tutorials/step-step-tutorials-libgdx-basic-setup-libgdx/implementing-google-play-services-leaderboards-in-libgdx/
En mi caso, el error mencionado de "entrada duplicada" surgió después de configurar multiDexEnable=true
en build.gradle.
Para resolver completamente el error, antes que nada, eche un vistazo a Configurar aplicaciones con más de 64K métodos (especialmente "Configurando su aplicación para Multidex con Gradle").
Además, busca las ocurrencias de la clase que causa el error de "entrada duplicada" usando ctrl + n en Android Studio. Determine el módulo y la dependencia que contiene el duplicado y excluya de la compilación, por ejemplo:
compile (''org.roboguice:roboguice:2.0'') {
exclude module: ''support-v4''
}
Tuve que probar varias etiquetas de módulo hasta que funcionó. La exclusión de "support-v4" resuelve problemas relacionados con "java.util.zip.ZipException: entrada duplicada: android / support / v4 / *"
En mi caso, el error mencionado de "entrada duplicada" surgió después de establecermultiDexEnable = true en build.gradle.
y el error exacto que estaba obteniendo era el siguiente:
Error:Execution failed for task
'':android:transformClassesWithJarMergingForDebug''.
> com.android.build.api.transform.TransformException:
java.util.zip.ZipException: duplicate entry:
com/google/android/gms/internal/zzqx.class
Así que lo primero que busco es la clase que causa un error de "entrada duplicada" usando ctrl + n en Android Studio y busqué com / google / android / gms / internal / zzqx.class y luego estaba mostrando 2 entradas para la clase gms con una versión 8.4.0 y 1 con la versión 11.6.0.
Para solucionarlo hice ambas cosas para usar 11.6.0 y fue un ejemplo fijo
más temprano
compile "com.google.android.gms:play-services-games:11.6.0"
compile "com.google.android.gms:play-services-auth:8.4.0"
compile "com.google.android.gms:play-services-ads:11.6.0"
Después
compile "com.google.android.gms:play-services-games:11.6.0"
compile "com.google.android.gms:play-services-auth:11.6.0"
compile "com.google.android.gms:play-services-ads:11.6.0"
Reconstrucción reparada
Error: ejecución fallida para la tarea '': aplicación: transformClassesWithJarMergingForDebug'' com.android.build.api.transform.TransformException java.util.zip.ZipException entrada duplicada com / google / gson / annotations / Expose.class
Aquí esta lo que hice:
1) Elimine el archivo gson-2.5.jar. 2) configuraciones {módulo todo * .excluir: ''gson-2.5''}
Este problema me costó un día entero. Finalmente, degradé la versión de la biblioteca firebase-ui de 2.0.0 a 1.2.0 y agregué el siguiente código dentro del archivo build.gradle del nivel del proyecto:
allprojects {
repositories {
jcenter()
// Add the following code to your project level build.gradle
maven {
url ''https://maven.fabric.io/public''
}
}
}
Esto se debe a que ha agregado una biblioteca y dado su dependencia de un módulo más de una vez.
En mi caso, había agregado una biblioteca como módulo y como una dependencia de gradle.
Al eliminar una fuente de agregar una biblioteca (eliminé la dependencia de Gradle) se solucionó mi problema.
Me he enfrentado a este problema ya que he copiado manualmente el jar en libs y he mencionado la dependencia en el archivo gradle. También verifica la estructura de su proyecto, ya sea que el mismo archivo jar se copie en cualquier otra carpeta como libs o en la carpeta del proyecto.
Para Expose.class Error es decir
java.util.zip.ZipException: entrada duplicada: com / google / gson / annotations / Expose.class
usa el siguiente código
configurations {
all*.exclude module: ''gson''
}
Probablemente ya hayas solucionado esto, pero para que esto no quede sin respuesta, prueba a agregar esto a tu build.gradle
:
configurations {
all*.exclude group: ''com.android.support'', module: ''support-v4''
}
Prueba esto:
android {
configurations {
all*.exclude module: ''PhotoView'' //去除重复依赖库
}
}
Según entiendo, existen referencias duplicadas a la misma API (probablemente diferentes números de versión). Debería ser razonablemente fácil depurar cuando se construye desde la línea de comando.
Pruebe ./gradlew yourBuildVariantName --debug
desde la línea de comandos.
El artículo ofensivo será la primera falla. Un ejemplo podría verse así:
14:32:29.171 [INFO] [org.gradle.api.Task] INPUT: /Users/mydir/Documents/androidApp/BaseApp/build/intermediates/exploded-aar/theOffendingAAR/libs/google-play-services.jar
14:32:29.171 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task '':BaseApp:packageAllyourBuildVariantNameClassesForMultiDex''
14:32:29.172 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :BaseApp:packageAllyourBuildVariantNameClassesForMultiDex FAILED''
En el caso anterior, el archivo aar que había incluido en mi directorio libs (theOffendingAAR) incluía el archivo jar de servicios de Google Play (sí, todo lo que sé.) Mientras que mi archivo de compilación BaseApp utilizaba servicios de ubicación:
compile ''com.google.android.gms:play-services-location:6.5.87''
Puede eliminar de manera segura el elemento ofensivo de su (s) archivo (s) de compilación, limpiarlo y reconstruirlo (repetirlo si es necesario).
Simple Retire su archivo Jar de las dependencias gardle.project como v7 y ejecute su proyecto
También me encontré con este tipo de problema al reimportar el proyecto Old Eclipse. Ocurrió alguna antigua dependencia como archivo jar en el proyecto.
solo eliminar
compilar fileTree (dir: ''libs'', incluye: ''* .jar'')
en archivo gradle
y agregue dependencia en el archivo gradle.
Esto funciona para mi ..
También tengo el problema porque tengo compilado ''com.android.support:appcompat-v7:24.0.0-alpha1'' pero agregué recyclerview compilación de liberary ''com.android.support:recyclerview-v7:24.0.2'' .. Cambié la versión de la misma manera que compat like (24.0.2 intead of 24.0.0).
tengo la respuesta ... puede ser que ayudará a alguien.
Tuve el mismo problema después de actualizar el SDK de Android. Pude ejecutar la aplicación en buildToolsVersion ''23.0.1''
, recibí el mismo error cuando cambié a buildToolsVersion ''24.0.3''
Resolví el problema actualizando mi versión de Java de 1.7 a 1.8 con compileSdkVersion 24
averiguar la lib depende del soporte v4 y excluirlo.
el código en build.gradle
es así:
androidTestCompile(''com.android.support.test.espresso:espresso-contrib:2.2.1'') {
// http://.com/a/30931887/5210
exclude group: ''com.android.support'', module: ''appcompat''
exclude group: ''com.android.support'', module: ''support-v4''
exclude module: ''recyclerview-v7''
}
En mi situación, el lib ''espresso'' tiene un frasco llamado support-v4 y en mi proyecto ''app'' tiene el mismo soporte-v4, excluye el soporte-v4 cuando se importa espresso.
PD: parece que el compile project
no puede funcionar con la exclude
revisa las versiones de tus dependencias, debes tener versiones compatibles que pongan atención especialmente a los paquetes com.google, deben tener la misma versión como:
compile ''com.google.android.gms:play-services:8.3.0''
compile ''com.google.android.gms:play-services-maps:8.3.0''
Ambos son 8.3.0, si tienes otra versión, la compilación arrojará esa excepción.
simplemente borre android / support / v4 / util / TimeUtils.class
provided ''com.alibaba:fastjson:1.2.17''
Uso proporcionado, este jar participar en la construcción, no usar en tiempo de ejecución