Android studio La ejecución falló para la tarea ': app: packageAllDebugClassesForMultiDex'
Tengo este error:
Execution failed for task ':app:packageAllDebugClassesForMultiDex'. > java.util.zip.ZipException: duplicate entry: com/google/android/gms/internal/zzrf.class
Quiero agregar servicios de Google Play a mi proyecto por lo que poner esta línea en el archivo build.gradle:
- Mensajes confiables de GPGS que no llegan a otro jugador
- Archivo no válido: google-play-services_lib / build.xml en android
- No se puede resolver el símbolo GooglePlayServicesClient en el nuevo proyecto de Android Studio
- Java.lang.NullPointerException com.google.android.gms.analytics.w $ b.run
- java.lang.SecurityException: intentando leer gservices sin permiso
compile 'com.google.android.gms:play-services:7.8.0'
Así que tuve que habilitar multidex y seguí android doc, agregando esto en build.gradle:
compile 'com.android.support:multidex:1.0.1'
y
multiDexEnabled true
Añado esto en android manifiesto:
<application ... android:name="android.support.multidex.MultiDexApplication">
Pero tengo el error que escribí arriba. He encontrado un montón de preguntas relativas a este problema (app: packageAllDebugClassesForMultiDex) pero no con eso (entrada duplicada: / google / android / gms / internal / zzrf.class).
He intentado algunas soluciones como eliminar algunas bibliotecas de google, pero no sé qué se refiere a / zzrf.class interno.
Aquí está mi archivo gradle:
apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "fr.djey.testgoogleplus" minSdkVersion 16 targetSdkVersion 22 versionCode 1 versionName "1.0" multiDexEnabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.2.1' compile 'com.google.android.gms:play-services:7.8.0' compile 'com.android.support:multidex:1.0.1' }
- Google Mobile Services (GMS): NullPointerPointerException de llamar a String.toLowerCase (java.util.Locale)
- ¿Cómo descargar Google Play Services en un emulador de Android?
- Java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions
- IllegalArgumentException al agregar una API de mensajería en la nube a GoogleApiClient
- Problema de ProGuard con Google Play Service y Firebase
- Android studio no puede resolver com.google.android.gms.location.places.AutocompleteFilter
- Convierta la aplicación Android en Google Play para Samsung Store
- Actualización de la biblioteca de servicios de Google Play y símbolo ausente @ integer / google_play_services_version
Me enfrenté al mismo problema. En mi caso utilicé una biblioteca Android hecha en casa usada por Mi aplicación para Android. Lo que significa 1 proyecto con 2 módulos independientes, mientras que el módulo app depende del módulo de la biblioteca. Ambos tienen soporte de multidex. La causa raíz fue la inconsistencia entre la versión de Google Play Services. En el módulo de la aplicación usé 7.8. + Y en la biblioteca que usé 8.1. +. Así que me acaba de actualizar tanto a la misma 8.1. + Y que fijo para mí. Por lo tanto, mi respuesta es comprobar todas las librerías de las que depende y 1 de ellas puede usar la versión de servicios de Google Play debajo de la suya.
Elimine todos los archivos en la carpeta de compilación de ese proyecto. En mi caso, es el archivo jar de todo el conflicto de juego de google con el archivo jar del servicio sólo anuncios.
Como dije en el comentario: Creé otro proyecto y solo hice las mismas cosas: poniendo servicios de google play y multidex, el problema no apareció más.
- ¿Cómo encadenar la animación en android a la misma vista?
- Convertir proyecto java en proyecto android en Eclipse