2011-09-26 17 views
9

Esto ocurre instantáneamente cuando realizo un nuevo proyecto en Eclipse.Eclipse: la conversión a formato Dalvik falló con el error 1

Solo tengo 1 archivo jar en el proyecto, he intentado eliminarlo, volver a agregarlo varias veces y he limpiado el proyecto después de esto.

He actualizado ProGuard (creo), descargué la nueva versión y reemplacé la carpeta lib como lo indicaban los hilos aquí.

Mis default.properties archivo es como sigue:

# This file is automatically generated by Android Tools. 
# Do not modify this file -- YOUR CHANGES WILL BE ERASED! 
# 
# This file must be checked in Version Control Systems. 
# 
# To customize properties used by the Ant build system use, 
# "build.properties", and override values to adapt the script to your 
# project structure. 

# Project target. 
target=android-8 

así que no puedo comentar nada sobre ProGuard que también se menciona en otro hilo. Siento que he intentado todo, y todavía este error. Una cosa que he notado es que si voy a: window -> preferences -> android -> build. Y desmarque "Forzar error cuando los archivos jar externos contienen bibliotecas nativas". Luego obtengo: "No se puede resolver R" en lugar del error de Dalvik.

No hay importación llamada android.R tampoco.

¿Alguien con algo de ayuda, por favor?

Respuesta

19

Esto no se parece al problema con proguard, ya que ni siquiera está habilitado en su archivo defaults.properties. Pruebe lo siguiente:

opción
    "error de la fuerza cuando frascos externos contienen bibliotecas nativas"
  1. Deseleccionar (tal como lo hizo)
  2. Seleccione "Proyecto -> Limpiar ..." en el menú
  3. Si eso no lo hará ayuda a asegurarte de tener la clase R correcta importada. Como se dijo al source.android.com:

    Eclipse veces le gusta añadir una importación android.R declaración en la parte superior de los archivos que utilizan los recursos, sobre todo cuando se pide eclipsar para ordenar o de otra manera a las importaciones. Esto hará que su marca se rompa en . Esté atento a estas declaraciones erróneas de importación y elimínelas.

ACTUALIZACIÓN

Tener una mirada también en este tema: "Conversion to Dalvik format failed with error 1" on external JAR.
Compruebe las siguientes respuestas (enlace le llevará directamente a la respuesta):

+0

Miedo no, se limpió con android.R importado, los mismos errores, lo eliminó de nuevo. Ahora informa dalvik thingy nuevamente. :-( Reinstalar? –

+0

@AndersMetnik Reinstalar. Si eso no ayuda, ¿podría compartir su proyecto esqueleto en algún lugar (tal vez en alojamiento de archivos empaquetado en el zip)? Así que puedo echarle un vistazo y probarlo en mi entorno – Idolon

+0

@AndersMetnik ¿Lo logró? Si no, revise mi respuesta actualizada – Idolon

1

¿Tiene el nuevo SDK de Android? Si lo hace, debe descargar proguard.jar del sitio web de proguard y reemplazarlo en el directorio de SDK.

+1

No tengo idea de por qué alguien te dio +1 ... Obviamente no has leído mi publicación. –

0

yo sólo estaba luchando con este problema por mí mismo Lo que terminé haciendo es editar el archivo proguard.bat y el problema desapareció

está en: [Android SDK directorio de instalación] \ herramientas \ Proguard \ bin \ proguard.bat

Cambio

llamada% java_exe%-jar "% PROGUARD_HOME%" \ lib \ proguard.jar% *

a

llamada% java_exe%-jar "%% PROGUARD_HOME" \ lib \ proguard.jar% 1% 2% 3% 4% 5% 6% 7% 8% 9

I intenté toneladas de otras cosas, pero esto es lo lo hizo por mí.

+0

no funciona para mí :( – Houssem

2

Comencé a tener este problema también ... Lo único que lo solucionó fue descargar manualmente la última versión de ProGuard (actualmente 4.6) y reemplazar la versión del SDK de las carpetas bin y lib de Proguard con la versión más nueva.

Después de eso todo comenzó a funcionar de nuevo. Esto es al parecer un error conectado ... http://code.google.com/p/android/issues/detail?id=18359

+1

Simplemente reemplacé bin y lib de 4.6 a proguard existente y funciona para mí !!! – Hitendra

5

había añadido erróneamente una referencia a una copia de android.jar, que no fue necesario, ya que es una dependencia androide, Quité esto y el error fue.

+0

Esta solución funcionó para mí. Desmarqué la ventana de android. jar en mi Build Path. –

0

Tienes que limpiar tu proyecto siempre que uses la actualización de CVS.

0

He tenido este problema de vez en cuando y la solución para mí es desactivar 'Build Automatically'. En mi experiencia, Eclipse a veces se confunde cuando construye aplicaciones cuando la construcción automática está activada.

0

Si ninguna de las soluciones de trabajo para intentar hacer lo siguiente:

  1. parada en busca de ayuda en línea.
  2. Pase a su proyecto. Puede ser algo en el código que Dalvik interpreta de manera incorrecta, incluso si no hay errores informados durante la ejecución de la aplicación.

Tuve un problema. Varias ejecuciones/compilaciones/exportaciones de aplicaciones con Proguard deshabilitado fueron exitosas y solo después de habilitar Proguard apareció un error 1. Los siguientes pasos pueden ayudarlo a resolver el problema:

  1. Cree un nuevo proyecto.
  2. Para detectar la clase sospechosa, comience a agregar sus clases una por una cada vez que ejecute la herramienta de aplicación de exportación firmada.
  3. Reduzca la búsqueda en esa clase agregando bloques de código también uno por uno.

En mi caso, el error fue causado por:

float[][] array1 = null, array2; 
for(int i = 0; i < someVal; i++){ 
    if(array1 == null){ 
     array1 = new float[row][col]; 
    } 
    else{ 
     array2 = new float[array1.length][array1[0].length]; // ERROR 1 
     // it was assumed that array1 is still null 
    } 
} 

cuando reemplacé con:

float[][] array1 = new float[1][1], array2; 
for(int i = 0; i < someVal; i++){ 
    if(i == 0){ 
     array1 = new float[row][col]; 
    } 
    else{ 
     array2 = new float[array1.length][array1[0].length]; // ERROR 1 
     // it was assumed that array1 is still null 
    } 
} 

el ERROR 1 desaparecieron.

0

He intentado muchas soluciones en stackoverflow pero nada funcionó para mí. acabo de abrir el archivo en la carpeta de proyecto project.properties y se añadió appcompat biblioteca dos veces aquí como android.library.reference.1 = ../appcompat_v7 android.library.reference.1 = ../appcompat_v7

Acabo de eliminar una línea y esto funcionó para mí :)

Cuestiones relacionadas