Desde la actualización a ADT
14 ya no puedo construir mi proyecto. Se 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 informado problemas similares y he probado las sugerencias allí, incluyendo
- Reinicio
Eclipse
. - Limpieza del proyecto y reconstrucción: deshabilite la opción "Proyecto-> Construir automáticamente", luego "Limpiar" y "Construir" proyecto, luego intente ejecutar. restablecer la opción "Construir automáticamente" a Activado
- Reinstalar el
Android
herramientas de desarrollador - Reinstalar Eclipse (actualizado a la última versión 3.7.1)
- Creó un nuevo proyecto importando desde el sistema de archivos
- Creó un nuevo proyecto a partir de la subversión.
Respuestas:
Tuve el mismo problema, bastante extraño porque solo sucedía cuando usaba Eclipse (pero estaba bien con Ant). Así es como lo arreglé:
Project Name
Build Path
->Configure Build Path
En
Java Build Path
, ve a la pestañaOrder and Export
Desmarca tu
.jar
bibliotecaSolo a veces: en la pestaña Orden y exportación, no tenía ninguna biblioteca jar allí, por lo que he desmarcado el elemento de Bibliotecas privadas de Android. Ahora mi proyecto se está ejecutando.
fuente
Android Private Libraries
elemento. Ahora mi proyecto se está ejecutando.Mi problema se resolvió después de limpiar algunos directorios y archivos de las versiones anteriores de las herramientas. ADT Rev 14 cambia donde se almacenan los archivos binarios . Eliminé todo el directorio bin, reinicié Eclipse y limpié la compilación y forcé una reconstrucción. Al principio eso pareció funcionar, pero el problema volvió después de la próxima carrera.
Finalmente descubrí que mi directorio bin estaba incluido en la ruta de compilación del proyecto. Excluí bin de la ruta de compilación y repetí los pasos anteriores. Esto resolvió mi problema.
fuente
[Resuelto para mí]
Propiedades del proyecto Eclipse-> Ruta de compilación Java-> Ordenar y exportar
Desmarca las bibliotecas privadas de Android.
fuente
Ninguno de los anteriores ayudó. Fue un problema simple al final.
Tenía un proyecto que usa FacebookSDK y ViewPagerIndicator como proyectos de biblioteca. Todos fueron construidos en Android API 16 y esos dos proyectos usaron la biblioteca de soporte de Android vX (¡X no es 16!)
Agregué un JAR externo a ambos proyectos y lo apunté a \ extras \ android \ v4 ... Y también eliminé el jar v4 que tenía en sus carpetas de libs.
Limpia todos los proyectos y reconstruye.
Voilla!
El error exacto que recibí: No se puede ejecutar dex: varios archivos dex definen Landroid / support / v4 / view / PagerAdapter; La conversión al formato Dalvik falló: no se puede ejecutar dex: varios archivos dex definen Landroid / support / v4 / view / PagerAdapter;
fuente
Este problema me estaba sucediendo, tenía un archivo .jar externo en mi carpeta 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 eliminé este último y mi proyecto volvió a funcionar bien.
fuente
/libs
de un experimento anterior, lo que resultó en un Proyecto de biblioteca y el .jar que se generó a partir de él. Eliminar ese jar debajo/libs
resuelve el problema. +1fuente
manifest file
eclipse lo elimina delbin
directorio, agréguelo manualmente y vuelva a limpiar el proyecto.Como otros han mencionado, esto ocurre cuando tiene varias copias de la misma clase en su ruta de compilación, incluida bin / en su ruta de clase es una forma de garantizar este problema.
Para mí, esto ocurrió cuando agregué android-support-v4.jar a mi carpeta libs /, y de alguna manera eclipse agregó una segunda copia a bin / classes / android-support-v4.jar.
Eliminar la copia adicional en bin / classes resolvió el problema, sin saber por qué Eclipse hizo una copia allí.
Puedes probar esto con
fuente
Para mí, solo hago clic derecho en proyecto -> Ruta de compilación -> configurar ruta de compilación -> Bibliotecas -> eliminar dependencia
después de que funcione
fuente
Este error puede ocurrir si tiene dos tarros que contienen los mismos nombres de clase, por ejemplo, tenía dos bibliotecas: jsr311-api-1.1.1.jar y jersey-core-1.17.1.jar, ambas contenían la clase javax.ws .rs.ApplicationPath. Eliminé jsr311-api-1.1.1.jar y funcionó bien.
fuente
Recibí este error después de agregar facebooksdk.jar a un proyecto que ya tenía dependencias en android-support-v4.jar . Desde el facebooksdk.jar ya incluye su propio android-support-v4.jar, hubo conflictos. Eliminar el anterior android-support-v4.jar de los proyectos Propiedades / Ruta de compilación de Java / Bibliotecas resolvió el problema por mí.
fuente
Vaya a Proyecto / propiedades y Java Build Path y sin marcar los Android bibliotecas privadas .
Hecho
fuente
Eliminé las dependencias de Android de la ruta de compilación y funcionó.
Editar: ignorar eso. Tenía el mismo jar en mis dependencias maven y en la carpeta libs. Eliminé el de la carpeta lib.
fuente
Probablemente haya instalado r14 , este error puede deberse a la actualización de las herramientas de la plataforma, debe reinstalar su SDK
fuente
Para mí, este problema solo existe mientras haya proyectos de biblioteca de Android involucrados en mi proyecto. Entonces, cuando elimino todas las bibliotecas y hago lo que dijiste, puedo volver a ejecutar mi aplicación. Si hay bibliotecas involucradas, incluso el truco bin-remove-trick truco no funcionará.
No entiendo por qué este error apareció por primera vez hoy, ya que estoy usando ADT 14 durante varios días. Bueno, hubo otros errores que me mantuvieron feliz sin embargo.
fuente
Eliminar la carpeta bin no fue suficiente, también eliminé la carpeta gen. Luego, después de dos reconstrucciones, el mensaje de error dex desapareció.
fuente
Seleccione el proyecto en Project Explorer , haga clic con el botón derecho y seleccione Propiedades -> Ruta de compilación de Java -> Fuente -> Marque la casilla Permitir carpetas de salida para carpetas de origen
fuente
Básicamente estaba enfrentando el mismo problema. Eliminé la carpeta BIN, luego eliminé los archivos jar no utilizados para Ordenar e Importar de eclipse. Funcionó después de eso
fuente
Llego tarde a esta fiesta, pero agrego mi propia experiencia para poder encontrarla nuevamente más tarde :)
Me encontré con este problema después de actualizar los complementos de Android SDK y Eclipse. ¡Ninguna actualización queda impune!
El problema para mí estaba relacionado con proyectos de biblioteca, mi aplicación hace referencia tanto a proyectos estándar de Java como a proyectos de biblioteca de Android. Me di cuenta de que la configuración de Java Build Path incluía las carpetas src y res de los proyectos de la biblioteca de Android en la lista Fuente (los votos positivos para todos los que mencionan que bin en la fuente es un problema, src y res también fueron un problema).
Entonces la solución fue:
¡Estaba en camino de juntar todo eso de las otras soluciones! ¡Uf!
fuente
Me encontré con esto cuando actualicé de adt 14 a 15 y para que funcionara terminé simplemente borrando la carpeta .eclipse (junto con mi configuración) y reinstalando el adt 15.
fuente
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 ubicados en el directorio BIN de mis proyectos a BIN / CLASSES y ya estoy en funcionamiento.
Editar 1 Luego falló en la segunda ejecución ... doh
Editar 2 Así cerrado Eclipse movió los archivos de regreso a su ubicación original y todo funciona ... ¿qué? No pretendo saber por qué funcionó esto. Se actualizará si hay algún cambio.
Editar 3 He notado en mis copias de seguridad que efectivamente había archivos duplicados en el directorio BIN y BIN / CLASSES.
Entonces la respuesta es: no tengo archivos en ambas ubicaciones. Al menos para mí eso fue lo que funcionó.
fuente
Modifica tu archivo eclipse.ini y establezca el parámetro de memoria máxima en
Luego reinicie su computadora.
Funcionó para mi.
fuente
encontré una solución, creo?
Donde dice: "Lcom / coremedia / iso / AbstractBoxParser $ 1" que resulta ser la ubicación de la biblioteca que importé que causaba el problema. Busqué com.codemedia.iso.AbstractBoxParser $ 1.class y .AbstractBoxParser.class ... tomó ese frasco, lo desempaquetó, eliminó ambos archivos, luego los volvió a empaquetar como un .zip, se agregó a la biblioteca, se limpió y funcionó. ¡No más conflictos para mí! (tampoco actualizaciones o descargas adicionales)
fuente
Tenía dos versiones diferentes de los archivos .jar de Cordova en mi carpeta libs, eliminé la que ni siquiera estaba usando y funcionó de inmediato. Extraño porque no me di cuenta antes y funcionó antes y de repente dejó de funcionar ...
fuente
La actualización ADT R14 cambia donde las clases van al directorio bin / classes (ver 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í.
fuente
Solución para mi:
Navegue hasta el espacio 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
Navegue a su directorio Eclipse y escriba este comando:
dev1: eclipse $ ./eclipse clear
Eclipse comenzará con un espacio de trabajo vacío; no se preocupe, sus proyectos todavía están allí. Sencillo crear un nuevo proyecto a partir de los recursos existentes y las cosas deben ser gravy.
El error exacto que estaba recibiendo: [2012-02-07 14:15:53 - Dex Loader] No se puede ejecutar dex: Varios archivos dex definen Landroid / support / v4 / view / PagerAdapter; [2012-02-07 14:15:53 - ProjectCloud] La conversión al formato Dalvik falló: Incapaz de ejecutar dex: múltiples archivos dex definen Landroid / support / v4 / view / PagerAdapter;
fuente
Tengo varios proyectos de biblioteca con el mismo nombre de paquete especificado en el AndroidManifest (por lo que R.java no genera nombres de campo duplicados). Tuve que eliminar todos los permisos y actividades del AndroidManifest.xml para todos los proyectos de la biblioteca para eliminar el error, por lo que Manifest.java no se creó varias veces. Esperemos que esto pueda ayudar a alguien.
fuente
Después de probar todas las otras sugerencias sin suerte, eliminé todo el contenido del directorio 'bin' de mis proyectos, luego ejecuté eclipse nuevamente y funcionó.
fuente
Convertí un proyecto que no es de biblioteca en un proyecto de biblioteca, pero tenía un archivo jar previamente creado en la carpeta libs. Al eliminar este archivo jar, este error desapareció.
fuente
Estaba enfrentando el mismo problema que vi mientras empujaba mi aplicación algunos archivos jar que se cargaron dos veces, por lo tanto, error de dex múltiple. Simplemente vaya a las propiedades de su proyecto -> Java Build Path e intente desmarcar el jar que se carga dos veces.
fuente
[Resuelto para mí]
eliminando el "archivo JAR" de la biblioteca duplicada, luego elimine el archivo BuildConfig.java, el proyecto Clean y su trabajo.
fuente