android intellij-idea proguard

android - Error Proguard Número de versión de clase no admitida



intellij-idea (4)

Hay un sucesor de pyx4me ProGuard Maven plugin en github con soporte para ProGuard 5.2, por lo tanto, soporte de Java 8:

https://github.com/wvengen/proguard-maven-plugin

http://wvengen.github.io/proguard-maven-plugin/

Saludos, Ekho

Siempre consigo este error cuando trato de ofuscar una aplicación con proguard

Error:ProGuard: [MyApp] java.io.IOException: Can''t read [C:/Program Files/Java/jdk1.8.0/jre/lib/rt.jar] (Can''t process class [com/oracle/net/Sdp$1.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7)))

Ya he actualizado Proguard y revisé el archivo de configuración del proyecto, pero siempre el mismo Error. Estoy usando la última versión de Intellij IDEA


Parece que Proguard no es compatible con Java 8 en realidad. Tienes que usar la versión 7 de JDK.

EDIT-1

He recompilado Proguard para admitir las clases de JDK 8, no es compatible con las nuevas características de Java 8, pero si su código no utiliza Java, la sintaxis nueva (por ejemplo, Lambda Expression) debería funcionar sin problemas. Probado con algunos proyectos de Android.

Para usar, reemplace el archivo proguard.jar en

android-sdk/tools/proguard/

con el contenido de ESTE ARCHIVO

EDIT-2

Recientemente se ha lanzado el Proguard 5 oficial que debería abordar el problema. Puedes descargar esto desde HERE


ProGuard 5.0 (lanzado en agosto de 2014) es compatible con Java 8.


ProGuard no se ha actualizado todavía para admitir Java 8.

Ya se ha planteado un problema en contra de ProGuard .

Eric Lafortune (desarrollador de ProGuard) señaló en octubre de 2013

Estoy muy ocupado en este momento, tan realista que no podré completar esto en el corto plazo, lo siento. Sin embargo estoy vigilando los desarrollos.

Él también dijo

Es probable que ProGuard funcione en archivos de clase que solo usan funciones anteriores si cambia o deshabilita ClassUtil # checkVersionNumbers.