今天用Android Killer反编译安卓应用,出现以下:
当前 Apktool 使用版本:Android Killer Default APKTOOL
正在反编译 APK,请稍等...
>java.lang.UnsupportedClassVersionError: com/rover12421/shaka/cli/Main : Unsupported major.minor version 51.0
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:637)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:280)
> at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:215)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:208)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
>Error: Could not find the main class.
>Error: A JNI error has occurred, please check your installation and try again
APK 反编译失败,无法继续下一步源码反编译!
大概意思就是:JAVA的版本和应用的版本不对应,不支持这个版本。可能当前版本高也可能是低了。
Unsupported major.minor version 51.0,这里的51.0对应的就是当前环境的版本是JAVA7,以下是对应的版本号:
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
既然知道是版本不对造成的了,那就好解决了,换个JAVA版本就行了!
JAVA下载页面:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html
我这里下载的是【JAVA SE 12】,大家可以根据自己需要下载。
安装完毕后,配置环境变量:JAVA运行环境JDK安装和环境变量配置教程
配置好环境变量后设置软件的JAVA路径:
配置完毕后,重新打开软件,再次尝试,一切OK!至此问题完美解决!