Error Proguard Unsupported class version number

后端 未结 4 548
名媛妹妹
名媛妹妹 2020-12-16 10:54

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.         


        
相关标签:
4条回答
  • 2020-12-16 11:16

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

    0 讨论(0)
  • 2020-12-16 11:19

    There is a successor of pyx4me ProGuard Maven plugin on github with support to ProGuard 5.2, hence Java 8 support:

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

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

    Cheers, Ekho

    0 讨论(0)
  • 2020-12-16 11:33

    ProGuard has not been updated yet to support Java 8.

    An issue has already been raised against ProGuard.

    Eric Lafortune (ProGuard developer) noted back in October 2013

    I'm very busy at the moment, so realistically I won't be able to complete this in the short term, sorry. I'm keeping an eye on the developments though.

    He also said

    ProGuard probably works on class files that only use older features if you change or disable ClassUtil#checkVersionNumbers.

    0 讨论(0)
  • 2020-12-16 11:35

    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

    0 讨论(0)
提交回复
热议问题