我正在尝试从谷歌来源通过自己的 AOSP 构建。我按照 Google 文档中提到的步骤进行操作,并成功地构建它并成功地用图像刷新我的设备。但是,在进行了一些更改后,我尝试再次构建它(基本上只是添加了一些日志来使用它)。构建出错了。然后我再次尝试make,它说找到了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 build 做到这一点?我也很惊讶为什么会收到错误“找到 Javac 1.6。需要 Javac 1.7”。因为我使用 Java 1.6 成功创建了构建。