java.lang.UnsupportedClassVersionError : com/google/doclava/Doclava : Unsupported major. 次要版本 51.0 android build

标签 java android jvm unsupported-class-version

我正在尝试通过自己的 AOSP 从谷歌源构建。我按照谷歌文档中提到的步骤成功地构建了它并成功地用图像刷新了我的设备。但是,我在进行一些更改后尝试再次构建它(基本上只是添加了一些日志来玩弄它)。构建出错了。然后我再次尝试制作,它说 Javac 1.6 found。需要 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。需要 Javac 1.7。”因为我使用 Java 1.6 成功创建了构建。

最佳答案

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

所以,你必须使用:

update-alternatives --config javadoc

关于java.lang.UnsupportedClassVersionError : com/google/doclava/Doclava : Unsupported major. 次要版本 51.0 android build,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37112545/

相关文章:

java - 使用 Mockito 创建模拟数组

javascript - Nativescript - 如何禁用返回键以在可编辑的 TextView 中添加换行符

android - 如何在锁屏上显示通知内容 - Android

java - 如何以编程方式获取特定 JVM 实例的系统属性?

java - 循环遍历中等大小的数据集时,Kotlin 出现内存不足错误

java - 无论内存需求有多大,有什么方法可以强制 JVM 使用交换?

java - 支持windows增量爬行的网络爬虫

java - 使用 java.util.Scanner 逐行读取 Stream 是否有效?

java - Android webview 应用程序不会加载我的表单

java - Tapestry 4,从非组件元素获取提交的值