2010-04-22 7 views
33

Estoy tratando de usar la API SmugFig SmugMug en Android. Fue diseñado para J2SE, me imagino, así que no estoy seguro de que funcione en Android, pero pensé que valía la pena intentarlo en lugar de intentar crear mi propia API.Android: Falló la conversión a formato Dalvik: no se puede ejecutar dex: null

Cuando cargo del proyecto, sin embargo, me sale el siguiente error:

Conversion to Dalvik format failed: Unable to execute dex: null 

No dice qué paquete se produce un error en adelante, simplemente "Android Problema Packaging", pero no lo hizo antes de que yo se agregó SmugFig y sus JARS de dependencia a la ruta de compilación.

¿Dónde debo buscar? ¿O esto principalmente a mí que simplemente no funcionará con esas bibliotecas?

+0

También es un problema conocido para los proyectos de Android que hacen referencia a otros objetos: http://groups.google.com/group/android-developers/browse_thread/thread/3911749addce534d – inazaruk

Respuesta

41

me encontré con una entrada de blog que dice aumentar la memoria asignada en eclipse.ini a esto: -Xms128m -Xmx512m o algo más alto, pero esto no lo hizo para mí.

Sin embargo, encontré otra publicación que sugería hacer Project> Clean y que lo arregló para mí. Creo que sucede cuando apagas Eclipse sin apagar primero el emulador. Error bastante cojo. Pasamos unas cuantas horas de excavación para la solución de esta mañana ... grrrrrrr :-(

+0

¡Gracias! Lo intentaré. –

+0

¡Gracias por terminar mi miseria! –

+0

¡Esto funcionó para mí! –

0

Here que sugieren que estos error es causado por enormes archivos .java.

que tenían el mismo problema y que se incrementan las obras de memoria asignada para mí.

6

Después de la actualización de Eclipse 8.0.0 DDMS vino con el lanzamiento de Android 2.3 este error apareció de repente.

Ninguna de las sugerencias anteriores ayudó, pero resultó que la raíz del problema era una proyecto referenciado (algunas clases compartidas entre el servidor y el lado del cliente).

Una vez que eliminé la referencia del proyecto y construí e incluí un contenedor del proyecto una vez mencionado, el problema dejó de existir.

Parece que algo salió mal en DDMS 8.0.0 con los proyectos a los que se hace referencia.

+0

Experimenté el mismo problema con un proyecto al que se hace referencia después actualizando a 2.3, este es un error desagradable .. – jasonhudgins

+0

mismo aquí - la actualización a 2.3 resultó en este error. – inazaruk

+0

yo también, trataré de hacer un enlace en lugar de hacer referencia a él como un proyecto. –

1

Asegúrate de no hacer referencia al mismo proyecto dentro de un contenedor y un eclipse. Por ejemplo, tienes un proyecto llamado myproject en eclipse. Su proyecto de Android hace referencia tanto al proyecto myproject como al jar generado a partir de él. Esto dará un error cuando intente dex a medida que intenta dex contra las clases generadas desde myproject y desde myproject.jar

+0

Funciona para mí. – user861973

0

I helper para eliminar la carpeta /home/user/.android. SO: Debian Wheezy 32 bits

+0

¿Estaba implementando en AVD? –

4

su simplemente por el tamaño de acumulación ocupado por algunos archivos JAR ... que se puede quitar manualmente ...

otra cosa, la mejor opción es modificar el archivo en eclipse.ini la carpeta del eclipse .....

añadir -Xmx1024m al archivo para que el tamaño de la memoria de 1 GB ... que woul trabajar con seguridad .....

+4

No, esto no funciona "con seguridad". Ciertamente no me ayudó. –

5

Lo que funcionó para mí fue la eliminación de la referencia android.jar en

Configurar ruta de compilación -> Ruta de compilación de Java -> Bibliotecas

Deje la referencia de la biblioteca de Android 3.0.

1

Sólo esta solucionar mi problema .project> Limpio

+2

Doesn ' t trabajo ... –

16

Ir al proyecto »Propiedades» Vía de construcción Java »Bibliotecas y eliminar todo, excepto el "Android XY" (en mi caso, Android 1.5). haga clic en Aceptar. Vaya a Proyecto »Limpiar» Proyectos limpios seleccionados a continuación »seleccione su proyecto y haga clic en Aceptar. Eso debería funcionar.

También es posible que tenga un archivo JAR ubicado en alguna parte de las carpetas de su proyecto (copié el archivo Admob JAR en mi carpeta src) y LUEGO lo agregó como una Biblioteca de rutas Java. No se muestra en el Explorador de paquetes, por lo que no se da cuenta, pero se cuenta dos veces, lo que causa el temido error Dalvik 1.

Otra posible razón podría ser conflictos de nombres de paquetes. Supongamos que tiene un paquete com.abc.xyz y una clase llamada A.java dentro de este paquete, y otro proyecto de biblioteca (que se agrega a la dependencia de este proyecto) que contiene el mismo com.abc.xyz.A.java, entonces obtendrás exactamente el mismo error. Esto significa que tiene múltiples referencias al mismo archivo A.java y no puede construirlo adecuadamente.

+0

Gracias. Probablemente este error ocurra cuando tenga duplicar dependencias. Tus soluciones funcionan para mí. –

+0

También tuve un problema con respecto a las dependencias. Es por eso que esta solución funcionó para mí. –

3

Pasos que me ayudan a eliminar este error

  1. bibliotecas de usuario remove (bibliotecas externas).
  2. limpia el proyecto
  3. otra vez Añadir la biblioteca externa
  4. construir el proyecto
  5. ejecutar el proyecto.

Espero que esto te ayude. Gracias.

2
-startup 
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar 
--launcher.library 
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502 
-showsplash 
org.eclipse.platform 
--launcher.XXMaxPermSize 
512m 
--launcher.defaultAction 
openFile 
-XX:MaxPermSize=512m 
-vmargs 
-Xms512m 
-Xmx1024m 

funciona para mí https://groups.google.com/forum/?fromgroups=#!topic/phonegap/yWePvssyiLE

0

Para los proyectos que utiliza New Relic

actualización nueva reliquia a través de "Actualización de Nueva Relic" bajo el Proyecto r'click ->Update New Relic. Esto funcionó para mí.

Cuestiones relacionadas