感谢文章的提醒: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 组装失败