Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error Proguard Unsupported class version number

I get always this erroe when I try to obfuscate an App with 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)))

I have already updated Proguard and checked the project-config file but always the same Error. I'm using the latest version of Intellij IDEA

like image 483
AndreaF Avatar asked Mar 26 '14 18:03

AndreaF


2 Answers

Seems that Proguard doesn't support Java 8 actually. You have to use JDK version 7.

EDIT-1

I have recompiled Proguard to support JDK 8 classes, doesn't support Java 8 new features but if your code doesn't use Java 8 new syntax(e.g. Lambda Expression) should works without problems. Tested with some android projects.

To use replace the file proguard.jar in

android-sdk\tools\proguard\  

with the content of THIS ARCHIVE

EDIT-2

Recently has been released the official Proguard 5 that should address the issue. You can download this from HERE

like image 102
Silverstorm Avatar answered Sep 19 '22 13:09

Silverstorm


ProGuard 5.0 (released in August 2014) supports Java 8.

like image 23
Eric Lafortune Avatar answered Sep 19 '22 13:09

Eric Lafortune