Error de Dex en Android Studio 3.0 Beta4

Error:java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex Error:java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex Error:com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex Error:com.android.dex.DexException: Multiple dex files define Lcom/google/zxing/integration/android/IntentResult; 

Tengo el mismo problema con Android Studio 3.0 beta 4. Encontré una solución.

1. Desde el menú Build , presione el botón Clean Project .

Proyecto limpio

2. Después de completar la tarea, presione el botón Rebuild Project en el menú Build .

enter image description here

Para Android Studio 3.0, lo que hice fue agregar esto a mi gradle:

 multiDexEnabled true 

¡Y funcionó!

Ejemplo

 android { compileSdkVersion 25 buildToolsVersion '26.0.2' defaultConfig { applicationId "com.xx.xxx" minSdkVersion 15 targetSdkVersion 24 versionCode 9 versionName "1.0" multiDexEnabled true //Add this testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } 

Así que resolví este problema haciendo lo siguiente:

  • Elimina la carpeta ./gradle dentro de tu proyecto
  • Eliminar todas las carpetas de comstackción y el caché de gradle . Ejecuté el siguiente comando:

Cómo ?

  cd ~/[your project root folder] && find . -name build -exec rm -rf {} \; && rm -rf $HOME/.gradle/caches/ 

Suponiendo que sus archivos de configuración de gradle están en la carpeta $HOME/.gradle .

  • Dentro de Android Studio, fui a File > Invalidate caches / Restart... e invalidé las cachés y las reinicié.

Debería poder llegar a la causa de este error inspeccionando sus dependencias con gradle y buscando duplicados como este: ./gradlew -q app:dependencies

En mi caso, el siguiente error estaba sucediendo en el momento de la comstackción:

 Duplicate zip entry [httpcore-4.4.1.jar 

y se resolvió al hacer esto en mi build.gradle :

 implementation ('me.dlkanth:stetho-volley:1.0') { exclude group: 'org.apache.httpcomponents' } 

Verifique sus dependencias para la última versión, por lo general es inconsistente con la versión de cualquiera de sus dependencias.

1. Build> Clean Project 2. Reconstruye tu proyecto

Compruebe el registro detallado para la dependencia que causa el problema de combinación y actualice el mismo. Repita lo mismo para cada dependencia.

Si su minSdkVersion es 21 o superior

  android { defaultConfig { multiDexEnabled true } } 

si tu minSdkVersion es 20 o menos

1) debe agregar la siguiente biblioteca en dependencias

 dependencies { compile 'com.android.support:multidex:1.0.1' } 

2) Cree una clase java, luego amplíela desde la aplicación y anule el método attachBaseContext.

  public class MyApplication extends Application { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } } 

3) Mencione la clase creada dentro del manifiesto en la etiqueta de la aplicación.

   

Me enfrenté al mismo problema en Android Studio 3.0.1, probé todos los casos posibles, nada funcionó para mí como se mencionó anteriormente, finalmente lo resolví

Solución1:

  • Cerrar Android Studio
  • Eliminar la carpeta .gradle ubicada en C:\Users\YourComputerName\.gradle no desde la aplicación .gradle
  • Reiniciar el estudio de android

Descargará todos los archivos jar necesarios y los agregará a su ruta de comstackción

Solution2:

  • Eliminar el jar duplicado de la carpeta libs en la aplicación / libs
  • Vuelva a ejecutar la aplicación

Porque si hay un archivo jar duplicado que ya está definido en el archivo build.gradle causa un problema.

Esto resolvió el problema para mí. Puede ayudar a otros …

Este error puede tener varias razones. No limpiar ni reconstruir ni nada de eso hizo el trabajo por mí.

Para mí, el problema era la dependencia:

 compile 'org.jetbrains:annotations-java5:15.0' 

Lo eliminé y todo funcionó bien.

Cambiar “comstackr” a “comstackr solo” esto es lo que funcionó para mí.

En mi caso, el culpable fue SendGrid lib, agregó esto y se arregló:

 compile 'com.github.danysantiago:sendgrid-android:1',{ exclude group: 'org.apache.httpcomponents', module: 'httpclient' } 

Estoy usando la versión de Studio 3.0.0. En mi caso, existía la única solución: eliminé los JAR antiguos de la carpeta “libs” de mi proyecto: era el paquete “ksoap2” con dependencias. Los paquetes obtenidos con gradle generalmente no entran en conflicto entre sí, al menos si está utilizando los más populares. Pero un archivo JAR antiguo en la carpeta libs puede destruir su comstackción si incluye todas las dependencias propias.

He intentado con otros comentarios al eliminar gradle y bla bla bla, pero agregando multiDexEnabled true resolviendo mi problema, investigo que mi apk ha llegado a más de 64K Method.

enter image description here

Ref: https://developer.android.com/studio/build/multidex.html )

Estoy usando Android Studio 3.0.1 Build # AI-171.4443003, construido el 9 de noviembre de 2017

Borro el archivo jar de la carpeta libs. Y eso funciona bien para mí

Estoy usando Android Studio 3.0.1 y estaba enfrentando el mismo problema. Si la respuesta de los demás no funciona, intente esto:

Herramientas -> Android -> Proyecto de sincronización con archivos Gradle

Me funcionó Sync Project con Gradle Files

En algún momento puede suceder debido a la misma biblioteca (archivo jar) presente dos veces o su proyecto ha alcanzado el límite de 64k métodos.

Solución: 1) Quite Databinding si su proyecto usa esto 2) Elimine la misma biblioteca de tipo de la carpeta lib o elimine el archivo .gradle de c // user // your_pc //. Gradle 3) aplique esto en su build.gradle

 android { defaultConfig { multiDexEnabled true } } 

Resolvió esto al eliminar la biblioteca de enlace de datos de Android:

 dataBinding { enabled = true }