错误:java.lang.UnsupportedClassVersionError:com / android / dx / command / Main:不支持的major.minor版本52.0 Xamarin Android

时间:2016-10-29 02:57:27

标签: android xamarin.android continuous-integration xamarin.forms azure-pipelines

我有一个项目,我正在尝试使用Visual Studio Team Services实现持续集成。 我有Android项目的构建定义,但构建失败。 该应用程序在Visual Studio中构建和运行没有问题。

我得到的错误是:

Error : java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0

我已经安装了最新的jdk,我已经删除了api 24的构建工具。它在Visual Studio中构建了相同的结果,但是在构建CI时却没有。

有没有人对解决方案有任何想法? 任何反馈都会很棒

由于

编辑:

这是JDK的位置: enter image description here

2 个答案:

答案 0 :(得分:0)

以下是xamarin technical bulletin says

可能的修复方法:

  • 更新到Java JDK 8,然后确保在Xamarin首选项中选择了JDK 8: Visual Studio:工具>选项> Xamarin> Android设置> Java开发工具包位置。 Xamarin Studio(在Mac上):Xamarin Studio>偏好>项目> SDK位置> Android> Java SDK(JDK)。
  • 或通过Android SDK管理器卸载所有Android SDK Build-tools版本24及更高版本。
  • 或者将AndroidSdkBuildToolsVersion MSBuild属性设置为早期版本。例如,如果您还安装了版本23.0.3,则可以在Android项目.csproj文件的top元素中添加以下行: 23.0.3

您应该检查构建服务器以及开发计算机上是否使用了相同版本的Java / Android SDK Build-tools

答案 1 :(得分:0)

检查安装的正确jdk。 您可以在sdk tools目录中找到dx.bat文件。

就我而言,我的sdk工具版本是25.0.2。 所以,我的目录结构如下所示。

enter image description here

通过在文件的最后一行添加echo消息来检查安装的正确版本。

echo "%java_exe%" %javaOpts% -Djava.ext.dirs="%frameworkdir%" -jar "%jarpath%" %params%
call "%java_exe%" %javaOpts% -Djava.ext.dirs="%frameworkdir%" -jar "%jarpath%" %params%

通常,系统变量必须是JAVA_HOME,如下所示。

  

JAVA_HOME = C:\ DEV \ COMP \爪哇\ jdk1.8.0_111

如果你有一些由1.7编译的类,你可以在使用jdk 1.8执行dx命令时看到相同的错误消息。

enter image description here

所以,我认为你最好选择旧版本的sdk工具而不是你的jdk 1.7。