Java Lang UnsupportEdClassVersion Error in Xamarin Studio

2022-09-01 02:46:39

我在构建项目时收到以下错误。如何更正此问题?

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(3,3): Error: java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupport major.minor version 52.0 (FGH)


帮助”>“关于>”显示详细信息“中的版本信息:

Xamarin.Android Version: 6.0.2.1 (Starter Edition)
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 version “1.7.0_71”
Java(TM) SE Runtime Environment (build 1.7.0_71-b14) Java HotSpot(TM) Client VM (build 24.71-b01, mixed mode, sharing)


答案 1

不支持的主要版本.次要版本 52.0

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

更新步骤

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

  2. 仔细检查 Java JDK 8 是否在 Xamarin 首选项中处于选中状态:

    • Visual StudioXamarin > Android Settings > Java Development Kit Location > Tools > Options

      "Tools > Options > Xamarin > Android Settings > Java Development Kit Location" in Visual Studio

    • Xamarin Studio(Mac上):Xamarin Studio > Preferences > Projects > SDK Locations > Android > Java SDK (JDK)。

      "Xamarin Studio > Preferences > Projects > SDK Locations > Android > Java SDK (JDK)"

  3. 安装 Android SDK Build-tools 24.0.1 或更高版本。

  4. (可选)卸载较旧的 Android SDK Build-tools 24,该工具在 aapt 中存在一个错误

替代方案

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

  • 通过 Android SDK 管理器卸载所有 Android SDK Build-tools 版本 24 及更高版本。

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

    <AndroidSdkBuildToolsVersion>23.0.3</AndroidSdkBuildToolsVersion>
    

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


其他背景信息

2016 年 7 月 25 日更新:

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


2016 年 7 月 14 日更新:

不支持的主要版本.次要版本 52.0

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


2016 年 6 月 16 日更新:

Android SDK Build-tools 版本 24 的非预览版现已在 Android SDK Manager 中推出。Xamarin.Android也尚未与该版本兼容。


2016 年 4 月 12 日的信息:

SDK 构建工具版本: 24 rc2

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


答案 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兼容。目前,在尝试使用Xamarin.Android中的Proguard或Mulddex功能时,这将导致错误“不支持的类版本号[52.0]”。请参阅 44187。我建议您将它安装在Android附带的默认版本旁边。只需将现有文件夹重命名为其他文件夹,然后添加新版本的 proguard。android-sdk\tools\proguard


推荐