Proguard Java 1.7 vs 1.8 error

So, I wrote a topic in March about trying to get MultiDex workign with ant on the android build. I’ve had a little more success on that and still ran into something else along the way, so that will be for another topic.

An easier solution, I thought, would be to enable Proguard, since there is an option for that in jME. However, I get this error when trying to build it.

/nbproject/obfuscate-impl.xml:7: Can't read [/home/joraaverchahal/jmonkeyplatform/jdk/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)))

Now, I know this is because Proguard 4.7, which only supports up to Java 1.7. Thus, there are two options:

Upgrade Proguard 4.7 to 5.0 which supports Java 8.
Downgrade project to use Java 7. Not a big deal, since our project doesn’t really take advantage of any Java 8 features.

However, this is the problem.

  1. How do I upgrade the Netbeans Proguard version from 4.7 to 5.0? I can’t figure out where the progaurd jar is or where to replace it. Help with this is much appreciated.
  2. Going down route 2, I downloaded the jdk1.7, and tried to change my sources to use it. I changed the Source/Binary format to JDK 7, and then went to the library and set the platform to JDK 1.7, which is linked to my downloaded JDK. However, when the progaurd builds, its still references the rt.jar in the jmonkeyplatform folder, not my folder. How do I fix this?

Actually that version of ProGuard is bundled in the SDK, or rather in the specific plugin/module of the SDK. Maybe just open an issue with this on github.

Issue on the SDK github for jmonkeyengine? And is this because the SDK is locked on a Netbeans version different than the current version, or does the current version have this issue? Sorry, I’m unfamiliar with Netbeans as and IDE outside of using it for jME.

Our plugin has the library bundled. No other ties.