2011-02-03 9 views
12

Hola a todos Cuando enabing Proguard para android, mientras que la construcción del frasco firmado consigo el siguiente volcado:Android Proguard java.io.IOException: No se puede leer [proguard.ClassPathEntry

[2011-02-03 11:28:27 - VideoCreator] Proguard returned with error code 1. See console 
[2011-02-03 11:28:27 - VideoCreator] java.io.IOException: Can't read [[email protected]] (No such file or directory) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.InputReader.readInput(InputReader.java:230) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.InputReader.readInput(InputReader.java:200) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.InputReader.readInput(InputReader.java:178) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.InputReader.execute(InputReader.java:100) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.ProGuard.readInput(ProGuard.java:195) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.ProGuard.execute(ProGuard.java:78) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.ProGuard.main(ProGuard.java:499) 

No se pudo encontrar nada relevante en la red. ¿Algunas ideas?

Respuesta

7

ProGuard no puede encontrar (ni leer) uno de los archivos de entrada. Si instala ProGuard 4.5.1 en lugar de 4.4, imprimirá el nombre de archivo adecuado para que pueda averiguar por qué falta.

+0

4,7 parece funcionar bien también – scottyab

+3

@Eric: ¿Podría dar un consejo sobre cómo tratar con el siguiente error: java.io.IOException: No se puede leer [C: \ Users \ MiNombre \ AppData \ Local \ Temp \ 'E: \ Archivos de programa \ android-sdks \ platforms \ android-15 \ android.jar'] (¿No hay tal archivo o directorio)? Me pregunto por qué se usa C: \ Users \ myname \ AppData \ Local \ Temp \. – Hong

5

Descargue la última versión de ProGuard y reemplace la carpeta de lib existente en la carpeta de herramientas sdk base (por ejemplo, c:/android-sdk/tools/proguard) con la nueva que haya descargado.

Como dijo Eric, le dirá lo que falta. Lo más probable es que haya utilizado la ruta incorrecta en el comando -libraryjars. Intente eliminar

2

Compruebe si tiene espacios en el nombre de ruta de .jar. Acabo de encontrar el mismo problema, actualicé a ProGuard 4.6 y obtuve más información en el mensaje de error, pero el problema persistió. Luego pensé que tal vez era por espacios en mi nombre de ruta, reemplacé todos los caracteres espaciales en el nombre de ruta por "-", ProGuard volvió a funcionar como un encanto :)

3

La actualización de ProGuard ayudó a localizar el problema. En mi caso, tenía que ver con la configuración de JDK en mi Mac y los archivos rt.jar y jsse.jar no se encontraban en el lugar habitual.

Encontré la solución here.

cd $JAVA_HOME/lib 
sudo ln -s ../../Classes/classes.jar rt.jar 
sudo ln -s ../../Classes/jsse.jar . 
+0

Confirmo el problema y esta solución en Mac – Pascal

Cuestiones relacionadas