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:

 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' } 

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 puedo incluir la clave pública de RSA de Google Play Services en mi binario de aplicaciones para Android?
  • Falta de servicios de Google Play en el Administrador de SDK
  • Implementación de Google Analytics 7.5.0 (Play Services) en Android 4.4 y siguientes se bloquea
  • PublisherAdView.loadAd () lanzando SecurityException - getTasks () requiere android.permission.GET_TASKS
  • Google-services.json para diferentes productFlavors
  • Android Google Plus SDK: cómo obtener la devolución de llamada en el botón +1 (PlusOneButton)
  • La aplicación Google Play Top Charts ya no se clasifica en absoluto después de cambiar el título?
  • Fused Location Provider - onLocationChanged deja de ser llamado
  • Token de acceso recuperado: null. Com.google.android.gms.auth.GoogleAuthException: Desconocido
  • ¿Cómo obtener la ubicación actual de GPS (latitud-longitud) con la API de Google en la aplicación de Android?
  • Proguard con google-play-services
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.