2011-07-07 9 views
11

Acabo de actualizar a la revisión 12 de herramientas de Android SDK, inmediatamente mi aplicación no puede exportarse con la configuración anterior de Proguard. Recibí el error "Conversión a formato Dalvik con error 1", la única biblioteca que uso es "jcifs". He intentado limpiar y reconstruir, crear un nuevo proyecto y volver a armar, y creo que he hecho casi todo lo que puedo leer en Internet. ¿Es este un nuevo error de este nuevo SDK? Sugiero que no actualice por el momento si su proyecto usa Proguard.Herramientas de Android SDK revisión 12 tiene un problema con Proguard => conversión de error a formato Dalvik con error 1

ACTUALIZACIÓN 1: También traté de exportar una aplicación Hello sencilla con conjunto proguard, sigue siendo el mismo mensaje. Parece que algo está roto con esta versión de la herramienta SDK.

ACTUALIZACIÓN 2: Tengo que eliminar toda la carpeta de herramientas en el directorio SDK y copiar una copia de seguridad de la revisión 11 de herramientas SDK. Al menos puedo volver a trabajar y exportar con proguard funciona de nuevo. Espero que esta información ayude a quien esté en la misma situación. Todavía no tengo idea de lo que está pasando, espero que alguien pueda arrojar luz sobre este problema molesto.

Actualización 3: he informado este problema como un error aquí: http://code.google.com/p/android/issues/detail?id=18359 esperanza alguien toma una buena mirada en el tema, que hasta entonces se le informará de mantenerse al margen de esta versión si está utilizando Proguard en su desarrollo.

Respuesta

26

El problema está causado por la línea de comandos de ProGuard en R12 en el archivo [Directorio de instalación de Android SDK] \ tools \ proguard \ bin \ proguard.bat. Simplemente edite la siguiente línea que resolverá el problema.

Cambio

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

a

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

Puedo confirmar que este cambio soluciona el problema. – Yongki

+0

Si no funciona, configure la variable de entorno (PROGUARD_HOME) manualmente en "Configuración avanzada del sistema" para su computadora/usuario. En mi caso, mi camino tenía un espacio pero funcionaba en R11. –

+0

¡Gracias! He tenido este problema por un tiempo ... – pqn

0

que acaba de arreglar este problema mediante la descarga del instalador R11 de http://dl.google.com/android/installer_r11-windows.exe y reemplazar el directorio \ herramientas con éste:
ejecutar el instalador descargado.
Especifique una carpeta de destino diferente a la instalación normal y haga clic para instalar.
Al finalizar, puede desmarcar "Iniciar SDK Manager ..." y hacer clic en [Finalizar].
El instalador creará un directorio \ tools en esa carpeta diferente.
Cambie el nombre de su directorio habitual "\ android-sdk-windows \ tools" y copie ese directorio \ tools en su directorio habitual "\ android-sdk-windows \".
El proyecto debería compilarse ahora sin el "Error 1".
Todavía no he investigado qué es diferente en los 2 directorios.

+0

Tengo el mismo problema y puedo confirmar que no recibo el error reemplazando la carpeta R12 Proguard por la R11. – BrainCrash

+0

La simple sobreescritura de la carpeta proguard resolvió el problema, pero de alguna manera provoca que el emulador se bloquee con el mensaje: "PANIC: Falta el programa emulador específico del arco: C: \ Android_Devs \ android-sdk-windows-1.5_r3 \ tools/emulator-arm.exe " – Yongki

0

Cambio proguard.bat como se sugiere no ayudó en mi caso. La actualización a proguard 4.6 tampoco ayudó. Lo que me ayudó es que tuve que pasar de categoría a las herramientas de Android SDK a revisión 11. Nota: al ejecutar SDK Manager e instalar paquetes, no instalé el paquete "Herramientas de Android SDK, revisión 12".

ACTUALIZACIÓN:

He tratado con Android SDK de revisión 15, pero el problema sigue presente.Ahora, esta solución de degradación a revisión 11 ya no funciona, ya que la URL que el SDK Manager está utilizando para descargar paquetes ya no funciona.

Después de 2 días de probar diferentes soluciones, actualizar a proguard 4.6 ayudó.

3

He descargado Proguard 4.6 y he copiado los contenidos de/lib y/bin en/tools/proguard/que corrigió el problema.

+0

Esta es la forma correcta de resolver este problema. Limpiar, volver a una SDK anterior, etc. son todos incorrectos (puede funcionar para algunos en ciertos casos, pero la forma correcta de resolver este problema es descargar Proguard 4.6 según lo indicado por Michiel) – Lysogen

2

La única solución que he encontrado a este problema es cambiar, en proguard.cfg

-optimizationpasses 5

a

-optimizationpasses 2

+1

que también resolvió para mí, pero -optimizationpasses 2 parece una protección más débil :( – VOX

2

me encontré con el mismo problema con las herramientas SDK de Android Rev 16 que intentan exportar un paquete de aplicaciones firmado de Helios Eclipse 3.6 en Mac OS X 10.7.2 para su ejecución en un Samsung Galaxy Nexus 4.0.2 build ICL53 F

Problema:

[2012-01-11 03:15:46 - Chapter 8 Where Am I] Proguard returned with error code 1. See console 
[2012-01-11 03:15:46 - Chapter 8 Where Am I] proguard.ParseException: Unknown option '8' in argument number 9 
[2012-01-11 03:15:46 - Chapter 8 Where Am I] at proguard.ConfigurationParser.parse(ConfigurationParser.java:170) 
[2012-01-11 03:15:46 - Chapter 8 Where Am I] at proguard.ProGuard.main(ProGuard.java:491) 

Solución:

cd /Applications/android-sdk-mac_x86/tools/proguard/bin 

continuación, modificar el archivo proguard.sh de la siguiente manera:

# java -jar "$PROGUARD_HOME"/lib/proguard.jar "[email protected]" 
java -jar "$PROGUARD_HOME"/lib/proguard.jar "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" 
0

Android SDK Tools Rev 16 barcos con ProGuard 4.4 que tiene este problema. Actualicé a 4.7 reemplazando los archivos en la carpeta android-sdk \ tools \ proguard y eso me solucionó el problema.

Gracias

0

Me funcionó. Como sugirió Michiel, reemplacé proguard.bat de proguard 4.6 y ahora puedo exportar la aplicación firmada sin el error. Gracias amigo.

Cuestiones relacionadas