Xamarin Studio 中的 java Lang UnsupportedClassVersion 错误

新手上路,请多包涵

我在构建项目时遇到以下错误。我该如何纠正这个?

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(3,3):错误:java.lang.UnsupportedClassVersionError:com/android/dx/command/Main:不支持的 major.minor版本 52.0 (FGH)


我的版本信息来自 Help > About > Show Details

Xamarin.Android 版本:6.0.2.1(精简版)

Android SDK: C:\Users\Admin\AppData\Local\Android\android-sdk

支持的安卓版本:

  • 4.0.3(API 级别 15)
  • 4.4(API 级别 19)
  • 6.0(API 级别 23)

SDK 工具版本:24.4.1

SDK平台工具版本:23.0.1

SDK 构建工具版本:24 rc2

Java SDK:C:\Program Files (x86)\Java\jdk1.7.0_71

Java 版本“1.7.0_71”

Java™ SE Runtime Environment (build 1.7.0_71-b14) Java HotSpot™ Client VM(build 24.71-b01,混合模式,共享)

原文由 Seinfeld 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 500
2 个回答

这里的 版本 52.0 指的是 JDK 的特定版本,在本例中与 JDK 8 相关。

Xamarin.Android 7.0 需要 JDK 1.8 才能使用 Android Nougat (API 24) API。如果目标是较早的 Android API 级别,您可以继续使用较早版本的 JDK:

此外,需要 64 位版本的 JDK 才能 在 Android 设计器中使用自定义控件

最简单的选择是安装 64 位版本的 JDK 1.8,因为它向后兼容所有以前的 API 级别并支持新的 Android 设计器功能。

(JDK 1.8 的一个不幸的并发症是它与 Android SDK 中包含的过时版本的 Proguard 兼容。目前,当尝试使用 Proguard 或 Multidex 功能时,这将导致错误“Unsupported class version number [52.0]”在 Xamarin.Android 中。请参阅 44187。 我建议您将其安装在 Android 附带的默认版本 android-sdk\tools\proguard 中。只需将现有文件夹重命名为其他名称并添加新版本的混淆器即可。 )

原文由 Alan Clark 发布,翻译遵循 CC BY-SA 3.0 许可协议

不支持的 major.minor 版本 52.0

此错误消息是由于与 Java JDK 不兼容引起的:Android SDK 构建工具版本 24 及更高版本需要 Java JDK 8 (1.8),而早期版本仍与 Java JDK 7 (1.7) 兼容。 (这类似于关于相同错误的 旧答案。)

更新步骤

  1. 更新到 Java JDK 8 。建议使用 64 位版本以兼容 Xamarin Studio 6.1 和 Xamarin for Visual Studio 4.2 中新的 Xamarin Android 设计器功能。

  2. 仔细检查是否在 Xamarin 首选项中选择了 Java JDK 8:

    • Visual Studio : _工具 > 选项 > Xamarin > Android 设置 > Java 开发工具包位置_。

    Visual Studio 中的“工具 > 选项 > Xamarin > Android 设置 > Java 开发工具包位置”

    • Xamarin Studio (在 Mac 上): Xamarin Studio > 首选项 > 项目 > SDK 位置 > Android > Java SDK (JDK)

    “Xamarin Studio > 首选项 > 项目 > SDK 位置 > Android > Java SDK (JDK)”

  3. 安装 Android SDK 构建工具 24.0.1 或更高版本。

  4. (可选)卸载 aapt 中存在错误 的旧版 Android SDK 构建工具 24:

备选方案

如果您还不想更新到 Java JDK 8,则可以改为执行以下操作之一。

  • 通过 Android SDK 管理器卸载所有 Android SDK 构建工具版本 24 及更高版本。

  • 或者将 AndroidSdkBuildToolsVersion MSBuild 属性设置为早期版本。例如,如果您还安装了版本 23.0.3,则可以在 Android 项目 .csproj 文件的顶部 <PropertyGroup> 元素中添加以下行:

   <AndroidSdkBuildToolsVersion>23.0.3</AndroidSdkBuildToolsVersion>

(另请参阅 https://releases.xamarin.com/technical-bulletin-android-sdk-build-tools-24/ 。)


其他背景信息

2016 年 7 月 25 日更新:

谷歌现已发布 Android SDK Build-tools 24.0.1。该版本修复了版本 24 中存在的 aapt 中的错误。


2016 年 7 月 14 日更新:

不支持的 major.minor 版本 52.0

事实证明,此错误消息是由于与 Java JDK 不兼容而不是与 Xamarin.Android 不兼容引起的:Android SDK 构建工具版本 24 需要 Java JDK 1.8,而早期版本仍与 Java JDK 1.7 兼容。 (这类似于关于相同错误的 旧答案。)


2016 年 6 月 16 日更新:

Android SDK 构建工具版本 24 的非预览版现已在 Android SDK 管理器中提供。 Xamarin.Android 也不兼容该版本。


2016 年 4 月 12 日的信息:

SDK 构建工具版本:24 rc2

“构建工具版本”看起来可能是问题所在。 Xamarin.Android 尚不兼容 Android SDK 管理器中“预览频道”中的“24 rc2”构建工具版本。您可以卸载该预览版并使用 Android SDK 管理器安装构建工具的非预览版之一(例如 23.0.3)。

原文由 Brendan Zagaeski 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题