No se puede ejecutar dex: varios archivos dex definen Lcom / myapp / R $ array;

Desde la actualización a ADT 14 ya no puedo construir mi proyecto. Estaba construyendo bien antes de la actualización.

El error:

 [2011-10-23 16:23:29 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/myapp/R$array; [2011-10-23 16:23:29 - myProj] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/myapp/R$array; 

Se han reportado problemas similares y he probado las sugerencias allí incluyendo

  • Reinicio de Eclipse .
  • Limpieza del proyecto y reconstrucción – Desactive la opción "Proyecto-> Crear automáticamente", luego "Limpiar" y "Construir" proyecto, a continuación, intente ejecutar. Restablecer la opción "Crear automáticamente" en On
  • Reinstalación de Android herramientas para desarrolladores de Android
  • Reinstalación de Eclipse (actualizado a la última versión 3.7.1)
  • Creación de un nuevo proyecto de importación desde el sistema de archivos
  • Creó un nuevo proyecto de subversión.

Tuve el mismo problema, bastante raro porque estaba sucediendo sólo cuando se utiliza Eclipse (pero estaba bien con Ant). Así es como lo arreglé:

  • Haga clic con el botón derecho en el Project Name
  • Seleccione Build Path -> Configure Build Path
  • En Java Build Path , vaya a la pestaña Order and Export

  • Desactive la biblioteca .jar

Sólo a veces: en la pestaña de orden y exportación no tenía ninguna biblioteca jar allí, así que tengo desmarcado artículo de las bibliotecas privadas de Android. Ahora mi proyecto está funcionando.

Mi problema se resolvió después de limpiar algunos directorios y archivos restantes de las versiones anteriores de las herramientas. ADT Rev 14 cambia donde se almacenan los binarios . He eliminado todo el directorio bin, reiniciado Eclipse y limpiado la construcción y forzado una reconstrucción. Eso parecía hacer el truco inicialmente, pero el problema volvió después de la siguiente carrera.

Finalmente descubrí que mi directorio bin estaba incluido en la ruta de construcción del proyecto. He excluido bin de la ruta de construcción y repetido los pasos anteriores. Esto resolvió mi problema.

[Resuelto para mí]

Propiedades del proyecto Eclipse-> Ruta de construcción de Java-> Pedido y exportación

Desmarque las bibliotecas privadas de Android.

Ninguno de los anteriores ayudó. Al final, fue un problema sencillo.

Tuve un proyecto que utiliza el FacebookSDK y ViewPagerIndicator como proyectos de biblioteca. Todos fueron construidos en Android API 16 y esos dos proyectos utilizaron la biblioteca de soporte de Android vX (X no siendo 16!)

Agregué un JAR externo a ambos proyectos y lo apunté a \ extras \ android \ v4 … Y también quité el frasco v4 que tenía en sus librerías.

Limpiar todos los proyectos y volver a construir.

Voilla!

El error exacto que estaba recibiendo: No se puede ejecutar dex: Múltiples archivos dex definen Landroid / support / v4 / view / PagerAdapter; La conversión al formato de Dalvik falló: No se puede ejecutar dex: Múltiples archivos dex definen Landroid / support / v4 / view / PagerAdapter;

Este problema me estaba pasando, tenía una .jar externa en mi carpeta de libs llamado gson-2.2.2.jar pero por alguna razón había dos de ellos, gson-2.2.2.jar y gson-2.2.2.jar ( 1), simplemente suprimí este último y mi proyecto creó bien otra vez.

  1. Cerrar eclipse.
  2. Borrar la carpeta bin dentro de la carpeta del proyecto.
  3. Inicie eclipse y limpie su proyecto.
  4. Ahora corre y el problema debería desaparecer

Como otros han mencionado, esto ocurre cuando tiene varias copias de la misma clase en su ruta de compilación – incluyendo bin / en su classpath es una forma de garantizar este problema.

Para mí, esto ocurrió cuando había añadido android-support-v4.jar a mi libs / carpeta, y de alguna manera eclipse agregó una segunda copia a bin / classes / android-support-v4.jar.

La eliminación de la copia extra en bin / classes resolvió el problema – no está seguro de por qué Eclipse hizo una copia allí.

Puede probar esto con

Grep -r YourOffendingClassName YourApp | Jarra de grep

Para mí, simplemente haga clic derecho en el proyecto -> Construir ruta -> configurar la ruta de construcción -> Bibliotecas -> eliminar la dependencia

Después de que funcione.

Este error puede ocurrir si tiene dos tarros que contienen los mismos nombres de clase, por ejemplo, tenía dos librerías: jsr311-api-1.1.1.jar y jersey-core-1.17.1.jar, ambas conteniendo la clase javax.ws .rs.ApplicationPath. Quité jsr311-api-1.1.1.jar y funcionó bien.

Estaba recibiendo este error después de agregar el facebooksdk.jar a un proyecto que ya tenía dependencias en el android-support-v4.jar . Ya que el facebooksdk.jar ya incluye su propio android-support-v4.jar hubo conflictos. La eliminación del android-support-v4.jar anterior de los proyectos Propiedades / Java Build Path / Libraries resolvió el problema para mí.

Vaya a Project / properties y Java Build Path y desmarque las bibliotecas privadas de Android .

Este es otro caso para este tipo de error

Hecho

Quité las dependencias de Android de la ruta de construcción y funcionó.

Editar: ignorar eso. Tuve el mismo tarro en mi dependencia de maven y libs. Quité el que está en la carpeta lib.

Uso de Eclipse:

Vaya a las properties proyecto> Java build path > Order and export

Luego desmarque Android private libraries .

Usted probablemente ha instalado r14 , este error puede haber sido causado debido a la actualización de herramientas de plataforma, tiene que volver a instalar su sdk

Para mí este problema sólo existe siempre y cuando haya proyectos de la biblioteca de Android involucrados en mi proyecto. Así que cuando elimino todas las bibliotecas y hago como dijiste puedo ejecutar mi aplicación de nuevo. Si hay bibliotecas involucradas, incluso el truco de eliminación de archivos binarios no funcionará.

No entiendo por qué este error apareció por primera vez hoy ya que estoy usando ADT 14 durante varios días. Bueno, había otros bichos que me mantuvo feliz.

Eliminar la carpeta bin no era suficiente, también eliminé la carpeta gen. Después de dos reconstrucciones el mensaje de error dex se había ido.

Seleccione el proyecto en el Explorador de proyectos , haga clic con el botón derecho del ratón y seleccione Propiedades -> Ruta de construcción de Java -> Origen -> Active la casilla Permitir carpetas de salida para las carpetas de origen

Yo estaba básicamente enfrentando el mismo problema. He eliminado la carpeta BIN, a continuación, eliminado los archivos jar no utilizados para el pedido y la importación de eclipse. Funcionó después de eso

Llego tarde a esta fiesta, pero agregando mi propia experiencia para que pueda encontrarla de nuevo más tarde 🙂

Me encontré con este problema después de actualizar el android sdk y eclipse ad-ins. No hay actualizaciones impunes!

El problema para mí estaba relacionado con proyectos de biblioteca, mi aplicación hace referencia tanto a proyectos de java estándar como a proyectos de biblioteca de android. Me di cuenta de que la configuración de Java Build Path incluía los proyectos de biblioteca android src y res en la lista Source (upvotes a todos los que mencionan bin en source siendo issue, src y res también era un problema).

Así que la solución fue:

  1. Quite todas las bibliotecas de Android referenciadas referencias de origen y proyecto de la sección Java Build Path de la configuración en la lista de origen y lista de proyectos
  2. Asegúrese de que las dependencias de java puras se listan en la lista de proyectos y de Checked en la ficha Order and Export para que las clases se incluyan en el apk
  3. Asegúrese de que todas las dependencias de la biblioteca de Android aparezcan en la sección Android de las propiedades del proyecto, en la sección de la biblioteca que se encuentra debajo de las versiones de SDK verificadas.

¡Estaba a lo largo de la manera de juntar todo eso de las otras soluciones! ¡Uf!

Me encontré con esto cuando actualizé de adt 14 a 15 y para conseguir que funcione acabé de eliminar la carpeta .eclipse (junto con mi configuración) y volver a instalar el adt 15.

Después de leer la respuesta de Terrys sobre la eliminación del directorio bin y Larrys sobre la ubicación del directorio ANT:

Moví los archivos situados en mi directorio del BIN de los proyectos al BIN / CLASSES e im para arriba y funcionando.

Editar 1 Entonces falló en segunda ejecución … doh

Edit 2 Así que Eclipse cerrado trasladó los archivos de nuevo a su ubicación original y todo su funcionamiento … um qué? No pretendo saber por qué funcionó. Se actualizará si hay cambios.

Editar 3 He notado de mis copias de seguridad que había de hecho los archivos duplicados en el directorio BIN y BIN / CLASSES.

Así que la respuesta es: no tiene archivos en ambas ubicaciones. Al menos para mí eso es lo que funcionó.

Modifique el archivo eclipse.ini y establezca el parámetro máximo de memoria en

 -Xmx1024m 

A continuación, reinicie el equipo.

Funcionó para mí.

Encontré una solución creo ??

  [2013-04-28 23:56:09 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/coremedia/iso/AbstractBoxParser$1; 

Donde dice: "Lcom / coremedia / iso / AbstractBoxParser $ 1" que acaba de ser la ubicación de la biblioteca que importé que estaba causando el problema. Buscamos com.codemedia.iso.AbstractBoxParser $ 1.class y .AbstractBoxParser.class …. tomó ese tarro, descomprimido, eliminado ambos de esos archivos, luego reempaquetado como un .zip, agregado a la biblioteca, limpiado y trabajado! No más conflicto para mí! (También no hay actualizaciones o descargas adicionales)

Tenía dos versiones diferentes de Cordova .jar-files en mi carpeta de librerías, elimine la que ni siquiera estaba usando y funcionó de inmediato. Extraño porque no me di cuenta de que antes y funcionaba antes y de repente dejó de funcionar …

La actualización ADT R14 cambia donde las clases van al directorio bin / classes (consulte http://tools.android.com/recent/buildchangesinrevision14 ). Si está utilizando ANT, debe cambiar la ruta de sus clases de bin a bin / classes. Esto funcionó para mí.

Solución para mí:

  1. ¡RESPALDA SU CÓDIGO!
  2. Navegue hasta el área de trabajo de su proyecto (no su proyecto) y ejecute los siguientes comandos:

    Dev1: espacio de trabajo $ cd ~ / Documents / workspace / .metadata / .plugins / dev1: espacio de trabajo $ rm -rf org.eclipse.core.resources

  3. Navegue hasta el directorio de Eclipse y escriba este comando:

    Dev1: eclipse $ ./eclipse claro

  4. Eclipse comenzará con un espacio de trabajo vacío – no se preocupe, sus proyectos todavía están allí. Simple crear nuevo proyecto de recursos existentes y las cosas deben ser salsa.

El error exacto que estaba recibiendo: [2012-02-07 14:15:53 ​​- Dex Loader] No se puede ejecutar dex: Múltiples archivos dex definir Landroid / support / v4 / view / PagerAdapter; [2012-02-07 14:15:53 ​​- ProjectCloud] La conversión al formato Dalvik falló: No se puede ejecutar dex: Los archivos dex múltiples definen Landroid / support / v4 / view / PagerAdapter;

Tengo varios proyectos de biblioteca con el mismo nombre de paquete especificado en el AndroidManifest (por lo que no se generan nombres de campos duplicados por R.java). Tuve que eliminar todos los permisos y actividades de AndroidManifest.xml para todos los proyectos de la biblioteca para eliminar el error por lo que Manifest.java no se creó varias veces. Espero que esto pueda ayudar a alguien.

Después de probar todas las otras sugerencias sin suerte, borré todos los contenidos de los proyectos de mi bin 'directorio, luego corrió eclipse de nuevo y funcionó.

Convierte un proyecto que no es de biblioteca a un proyecto de biblioteca, pero tenía un archivo jar previamente construido en la carpeta libs. La eliminación de este archivo jar provocó que este error desapareciera.

Estaba enfrentando el mismo problema entonces vi mientras empujaba mi aplicación algunos archivos jar que se cargaron dos veces error dex múltiple. Simplemente vaya a las propiedades del proyecto -> Java Build Path y pruebe desmarque jar que se está cargando dos veces.

  • Phonegap-Stopped 33 cuadros! La aplicación puede estar haciendo demasiado trabajo en su hilo principal
  • No puedo confirmar un archivo de biblioteca .so utilizando subclipse
  • ¿No se pudo analizar la salida de 'versión de adb'?
  • Newbie confundido por las funciones findViewById () de Android?
  • Cómo generar R.java
  • Cómo depurar un libarary compartido de la aplicación android
  • No se puede ver la opción de Android SDK Manager después de la instalación; Ejecutar como administrador no soluciona
  • Problemas de instalación del complemento de Android en eclipse
  • ¿Por qué no veo variables locales al depurar en Eclipse?
  • Eclipse da "Conversión al formato de Dalvik fallado" mientras que la hormiga trabaja
  • El dispositivo Android no aparece en el Selector de dispositivos Android, pero aparece en adb
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.