Unsupported major.minor version 52.0
今天cocos 编译android项目的时候,遇到这样的异常。
[dex] Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0
这个是因为编译的时候,使用的jdk 版本比目标平台的jdk版本高导致,52.0说明编译版本是J2SE 8(JDK 1.8)。我检查了一下javac 和 jre的版本(javac -version和java -version),发现都是1.7的。
后来记起来,前几天更新了build-tools。
如果,项目在project.properties中未指定使用哪个版本的build-tools,那么他会选择最新的。在我的android sdk目录下的build-tools下,有三个版本,最高是25.0.2,我在porject.properties中加入:
sdk.buildtools=19.1.0
指定了build-tools的版本,然后再cocos compile,打包成功。
如果用eclipse的话,可以去设置java compile,把jdk version 从1.8设置为1.7。