modificar editar archivos android eclipse adt android-sdk-tools dex

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



editar archivos smali (30)

  1. Cerrar eclipse.
  2. Eliminar la carpeta bin dentro de la carpeta de su proyecto.
  3. Comienza a eclipse y limpia tu proyecto.
  4. Ahora corre y el problema debería haber desaparecido.

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

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;

Problemas similares han sido reportados y he intentado las sugerencias allí incluyendo

  • Reiniciando Eclipse .
  • Limpieza del proyecto y reconstrucción: deshabilite la opción "Proyecto-> Crear automáticamente", luego el proyecto "Limpiar" y "Construir", luego intente ejecutar. restablecer la opción "Crear automáticamente" en On
  • Reinstalar Android herramientas de desarrollo de Android
  • 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 de subversión.

Básicamente estaba enfrentando el mismo problema. Eliminé la carpeta BIN, luego eliminé los archivos jar no usados ​​para ordenar e importar de eclipse. Funcionó después de eso


Como han mencionado otros, 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 agregado 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 el contenedor / clases resolvió el problema, sin saber por qué Eclipse hizo una copia allí.

Puedes probar esto con

grep -r YourOffendingClassName YourApp | grep jar


Convertí un proyecto que no era de biblioteca a un proyecto de biblioteca, pero tenía un archivo jar creado anteriormente en la carpeta libs. La eliminación de este archivo jar hizo que este error desapareciera.


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 estoy funcionando.

Editar 1 Luego falló en la segunda ejecución ... doh

Edit 2 So closed Eclipse movió los archivos a su ubicación original y todo está funcionando ... ¿um qué? No pretendo saber por qué funcionó esto. Se actualizará si hay cambios.

Edit 3 He observado en mis copias de seguridad que efectivamente había archivos duplicados en el directorio BIN y BIN / CLASSES.

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


Después de probar todas las otras sugerencias sin suerte, borré todos los contenidos del directorio ''bin'' de mis proyectos, luego ejecuté eclipse nuevamente y funcionó.


Eliminar la carpeta bin no fue suficiente, también eliminé la carpeta gen. Luego, después de dos reconstrucciones, el mensaje de error de dex desapareció.


Encontré una solución que 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 resulta ser la ubicación de la biblioteca que importé que estaba causando el problema. Busqué com.codemedia.iso.AbstractBoxParser $ 1.class y .AbstractBoxParser.class ... ¡tomé ese frasco, lo desempaqué, eliminé ambos archivos, luego lo reenvasé como un .zip, lo añadí a la biblioteca, lo limpié y trabajé! ¡No más conflicto para mí! (tampoco hay actualizaciones o descargas adicionales)


Enfrenté el mismo problema que vi al empujar 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 está cargando dos veces.


Este error puede ocurrir si tiene dos archivos jar 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 con la clase javax.ws .rs.ApplicationPath. Quité jsr311-api-1.1.1.jar y funcionó bien.


Este problema me estaba ocurriendo, tenía un .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 borré este último y mi proyecto se construyó bien otra vez.



Llego tarde a esta fiesta, pero agrego mi propia experiencia para poder encontrarla más tarde :)

Me encontré con este problema después de actualizar los anuncios de sdk y eclipse de Android. No hay actualización impune!

El problema para mí estaba relacionado con los proyectos de la biblioteca, mi aplicación hace referencia tanto a los proyectos estándar de Java como a los de la biblioteca de Android. Me di cuenta de que la configuración de Java Build Path incluía las carpetas src y res de la biblioteca de Android en la lista de fuentes (los votos a favor de todos los que mencionan que bin en source eran problem, src y res también fueron un problema).

Así que la solución fue:

  1. Elimine todas las referencias de fuentes y proyectos de las bibliotecas de Android a las que se hace referencia en la sección Ruta de compilación de Java de la configuración tanto en la lista Fuente como en la Lista de proyectos
  2. Asegúrate de que las dependencias de Java puro estén enumeradas en la lista de proyectos y verificadas en la pestaña Ordenar y exportar para que las clases se incluyan en la apk
  3. Asegúrese de que todas las dependencias de la biblioteca de Android estén enumeradas en la sección de Android de las propiedades del proyecto, en la sección de la biblioteca debajo de las versiones comprobadas del SDK.

¡Fue un largo camino para unir todo eso de las otras soluciones! ¡Uf!


Me encontré con esto cuando actualicé de adt 14 a 15 y para hacerlo funcionar, terminé simplemente eliminando la carpeta .eclipse (junto con mi configuración) y reinstalé el adt 15.


Mi problema se resolvió después de limpiar algunos directorios y archivos remanentes de las versiones anteriores de las herramientas. ADT Rev 14 cambia donde se almacenan los binarios . Eliminé todo el directorio bin, reinicié Eclipse, limpié la compilación y forcé una reconstrucción. Eso pareció funcionar inicialmente, pero el problema volvió después de la siguiente ejecución.

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.


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

-Xmx1024m

Luego reinicie su computadora.

Funcionó para mí.


Ninguno de los anteriores ayudó. Fue un simple problema al final.

Tuve un proyecto que utiliza FacebookSDK y ViewPagerIndicator como proyectos de biblioteca. Todos se crearon en la API 16 de Android y esos dos proyectos usaron la biblioteca de soporte de Android vX (¡X no tiene 16!)

Agregué un JAR externo a ambos proyectos y lo apunté a / extras / android / v4 ... Y también eliminé el tarro v4 que tenía en sus carpetas libs.

Limpia todos los proyectos y reconstruye.

Voilla!

El error exacto que estaba recibiendo: No se puede ejecutar dex: Varios archivos dex definen Landroid / support / v4 / view / PagerAdapter; La conversión al formato Dalvik falló: no se pudo ejecutar dex: varios archivos dex definen Landroid / support / v4 / view / PagerAdapter;


Para mí, este problema solo existe mientras haya proyectos de bibliotecas de Android involucrados en mi proyecto. Entonces, cuando elimine todas las bibliotecas y haga lo que me dijo, puedo ejecutar mi aplicación nuevamente. Si hay bibliotecas involucradas, incluso el truco bin-removal-trick 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 mantenían feliz.


Para mí, simplemente hago clic derecho en proyecto -> Crear ruta -> configurar construir ruta -> Bibliotecas -> eliminar dependencia

después de que funcione


Probablemente haya instalado r14 , este error puede haber sido causado debido a la actualización de las herramientas de la plataforma, tiene que volver a instalar su SDK.


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

Edición: ignorar eso. Tenía el mismo tarro en mi carpeta de dependencias y librerías de Maven. Quité el de la carpeta lib.


Recibí este error después de agregar el facebooksdk.jar a un proyecto que ya tenía dependencias en el android-support-v4.jar . Dado que facebooksdk.jar ya incluye su propio android-support-v4.jar, hubo conflictos. Eliminar el anterior android-support-v4.jar de las propiedades del proyecto / Java Build Path / Libraries resolvió el problema por mí.


Seleccione el proyecto en el Explorador de proyectos , haga clic con el botón derecho y seleccione Propiedades -> Java Build Path -> Source -> Marque la casilla Permitir carpetas de salida para las carpetas de origen


Solución para mí:

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

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

  3. Navegue a su 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í. Simplemente crea un nuevo proyecto a partir de un recurso existente y las cosas deben estar llenas de cosas.

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] Falló la conversión al formato Dalvik: No se pudo ejecutar dex: Varios archivos dex definen Landroid / support / v4 / view / PagerAdapter;


Tenía dos versiones diferentes de archivos .jar de Cordova en mi carpeta libs, eliminé la que ni siquiera estaba usando y funcionó de inmediato. Raro porque no lo noté antes y funcionó antes y luego de repente dejó de funcionar ...


Tengo varios proyectos de biblioteca con el mismo nombre de paquete especificado en 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.


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

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

  • Desmarque su biblioteca .jar

Solo algunas veces: en la pestaña Ordenar y Exportar no tenía ninguna biblioteca de archivos allí, así que no he seleccionado el elemento Bibliotecas privadas de Android. Ahora mi proyecto se está ejecutando.


Vaya a Proyecto / propiedades y Java Build Path y deseleccione las bibliotecas privadas de Android .

Hecho


[Resuelto por mí]

Propiedades de proyecto de Eclipse-> Java build path-> Order and export

Desmarque las bibliotecas privadas de Android.


[Resuelto por mí]

eliminando la biblioteca duplicada "archivo JAR" y luego elimine el archivo BuildConfig.java, el proyecto Clean y su trabajo.