当前位置: 代码迷 >> 综合 >> com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0 报错的解决记录
  详细解决方案

com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0 报错的解决记录

热度:91   发布时间:2023-12-08 04:03:48.0

感谢文章的提醒:http://blog.csdn.net/u011983531/article/details/50992905

引用原文:

        如果你在开发过程中遇到了上述的Bug,基本上是JDK版本不一致造成的,指的是高版本的JDK编译的class不能放在低版本的JDK上运行。

如果是Version 52,就表示JDK8编译的class不能运行在JDK7上,所以需要在本地安装JDK8.
如果是Version 51,就表示JDK7编译的class不能运行在JDK6上,所以需要在本地安装JDK7.

如果是Version 50 ,表示JDK6编译的class不能运行在jdk5低版本上

。。。。

----------------------------分割线--------------------------------


        我的环境是kepler  basic eclipse+adt23+sdk(我自己组装的eclipse,adt bundle中的eclipse太老了),组装后开始时是没有问题的,可以正常创建环境和在虚拟机测试。

因为我机器是jdk8,当时也没在意,后来因为某些原因必须用jdk7,且是zip包(即非安装包exe),就over了,右击运行总是弹出错误对话框:

com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0


        由于急着要开发没时间验证,最终是用adt bundle 先开发,以后再验证。

这里记录下当时的结论:

1.adt bundle 这种绑定好的eclipse+adt23+sdk环境要求是jdk6+,但没有测试过总高版本降到低版本的兼容性

2 如果是自己组装的eclipse+adt+sdk 建议使用basic eclipse,不要用j2ee 版的,

3 不要轻易下载新的android开发包,网上查过新的开发包往往要求更高的jdk版本,这个我深有体会,开始我组装的kepler 能开发来着,后来我总是更新下载新的开发包,后来sdk就不行了,感觉和新的api有关

4 adt插件中 adt22 要求jdk6+;adt23要求jdk7+,这是网上的,未测试

5  如果是自己组装eclipse,不要用太新的,最好kepler以下版本,google已经停止开发eclpse插件,反正我测试adt23和eclipse mars 组装失败

6 标题的报错是sdk版本的编译版本过高造成的,可以采用更换sdk,但意味着要重新下载api开发包

  相关解决方案