错误发生环境:编译运行环境为eclipse,JDK版本为jdk1.7
错误如下:
一、错误分析
version 52.0指的是jdk1.8的版本,我的项目某些地方可能指定了需要jdk1.8才能运行,但是并不意味着我的项目里面使用了jdk1.8的api,上面也说了我的JDK版本为1.7,既然某些地方指定了需要jdk1.8才能,运行项目就会出现不支持JDK1.8,我电脑中也没有关于JDK1.8的东西,因为我也不想使用JDK1.8,想在JDK1.7的环境下解决这个问题,请看下面。
二、解决办法
以下是JDK1.8的方案
2.1 安装JDK1.8,亲测成功,我没有卸载JDK1.7,直接安装的JDK1.8,甚至我还没有改变环境变量的值,那些值还是指向着JDK1.7的目录,这让我很纳闷,按理说假如环境变量没有改变,在CMD中java -version居然显示的是jdk1.8的版本,而且在eclipse所有的配置我都是JDK1.7以及JRE1.7,为什么简简单单的一个覆盖安装有这么大的影响?。
以下都是JDK1.7方案:
2.2 点击项目–>右键–>Properties–>Builders:
将 Android Package Builder
选项去除,这个似乎有些道理,毕竟我们的错误说的也是在这个builder运行出错,可能将这个勾选去除会有用,反正对于我的情况没有乱用,甚至我看网上有些人说将这个勾选单独留下,除去其他的勾选,我认为是无稽之谈。
2.3 点击项目–>右键–>Properties–>Java compiler:
将这两个个地方的JDK编译环境设置为JDK1.7还是JDK1.6还是JDK1.8,前面说过我的JDK版本就是JDK1.7,我设置JDK1.8,eclipse去哪里找JDK1.8给它运行啊,所以无论我设置多少,这个方法对于我都是无效的。
2.4 点击项目–>右键–>Properties–>Project Facets:
找到java选项 在Version栏选择1.7。
在右边栏的Runtimes选择JRE1.7。
反正这对我没用。
2.5 Windows–>Proference–>Java–>Installed JREs–>增加JDK1.7并勾选:
点击Installed JREs下的子菜单Execution Envinroment 在JavaSE-1.7的地方勾选Jre1.7
这种方法对我还是没用,无奈啊!
2.6 找到eclipse.exe的安装目录中的eclipse.ini,并在-vmargs前面添加如下
-vm
D:\Program Files\Java\jre7\bin
此目录为jre安装目录的bin目录,此方法对我无效。
2.7 找到项目下的project.properties
,添加一行:
sdk.buildtools=19.1.0
这是我的终极解决方案,因为我想玩ant,ant不支持jdk1.8,所以我只能找出在JDK1.7环境下的解决方案,这行代码的意思应该是指明sdk.的编译环境在API 19,添加代码后运行有用。
当然后面的19.1.0必须得对应你的SDK目录下的build-tools中的版本,而且必须是API 24之前的版本,因为API 24可能用到JDK1.8。