java.lang.UnsupportedClassVersionError:com / google / doclava / Doclava:不支持的major.minor版本51.0 android build

时间:2016-05-09 09:47:03

标签: java android jvm unsupported-class-version

我正在尝试使用google来源自己的AOSP构建。我完成了Google文档中提到的步骤,并成功构建了它,并成功地使用图像刷新了我的设备。但是,我做了一些更改后尝试再次构建它(基本上只是添加了一些日志来玩它)。构建错误了。然后我再次尝试制作,它说 Javac 1.6发现了。必需的Javac 1.7 。然后,我使用以下命令跟踪此特定问题的答案:

 update-alternatives --config javac
There are 2 choices for the alternative javac (providing /usr/bin/javac).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/bin/javac   1051      auto mode
* 1            /usr/lib/jvm/j2sdk1.6-oracle/bin/javac        315       manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/bin/javac   1051      manual mode

然后我选择了选项0.然后我再次尝试制作。这次失败并出现以下错误:

java.lang.UnsupportedClassVersionError: com/google/doclava/Doclava : Unsupported major.minor version 51.0 android build

在完成这个问题的所有答案后(我发现这个问了很多次),我发现这是因为编译时间(更高版本)和运行时间(更低版本)JDK不匹配,我应该重新编译它Java 1.7。我如何为Android构建做到这一点?我也很惊讶为什么我收到错误“Javac 1.6 found。需要Javac 1.7。”因为我使用Java 1.6成功创建了构建。

2 个答案:

答案 0 :(得分:8)

在这种情况下,这不是javac的问题,而是使用javadoc。 要检查它的版本:javadoc -J-version(是的,这很奇怪)。

所以,你必须使用:

update-alternatives --config javadoc

答案 1 :(得分:0)

此错误意味着您正在尝试加载Java"类"使用比您安装的Java更新版本编译的文件。

例如,您的.class文件可能已为JDK 7编译,并且您尝试使用JDK 6运行该文件。

所以解决方案是:

  • 升级Java运行时或
  • 如果您有源,请使用本地Java编译器(如果有的话)重新编译该类。

    javac FileName.java

访问此详细信息:How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version