关于X#1中的c#:java Lang UnsupportedClassVersionError

java Lang UnsupportedClassVersion Error in Xamarin Studio

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

C:Program Files(x86)msbuildxamarinandroidxamarin.android.common.targets(3,3):错误:java.lang.unsupportedClassVersionError:com/android/dx/command/main:unsupported major.minor version 52.0(fgh)

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

xamarin.android版本:6.0.2.1(入门版)android sdk:c:usersadminappdatalocalandroidandroid sdk

支持的Android版本:

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

SDK工具版本:24.4.1SDK平台工具版本:23.0.1SDK生成工具版本:24 RC2

JavaSDK:C:程序文件(x86)javajdk1.7.0y71.Java版本"1.7.0y72"Java(TM)SE运行时环境(构建1.7.0y71-B14)Java热点(TM)客户端VM(构建24.71-B01,混合模式,共享)


Unsupported major.minor version 52.0

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

更新步骤:

  • 更新到Java JDK 8。建议使用64位版本与Xamarin Studio 6.1和Xamarin for Visual Studio 4.2中的新Xamarin Android Designer功能兼容。

  • 在XAMARIN首选项中,选中JavaJDK 8:

    • VisualStudio:工具>选项> XAMARIN > Android设置> Java开发工具包位置。

      MGXY1·0选项> XAMARIN > Android设置> Java开发工具包位置"VisualStudio">

    • XAMARIN工作室(在Mac上):XAMARIN工作室>偏好>项目> SDK位置> Android > Java SDK(JDK)。

      MGXY1→1选项>项目> SDK位置> Android > JAVA SDK(JDK)>

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

  • (可选)卸载较早的android sdk build tools 24,该工具在aapt中有错误:

  • 选择:

    如果你还不想更新Java JDK 8,你可以做下列操作之一。

    • 通过android sdk manager卸载所有android sdk构建工具版本24及更高版本。

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

      1
      <AndroidSdkBuildToolsVersion>23.0.3</AndroidSdkBuildToolsVersion>

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

    其他背景信息

    2016年7月25日更新:

    谷歌已经发布了android sdk构建工具24.0.1。该版本修复了版本24中存在的aapt中的错误。

    更新日期:2016年7月14日:

    Unsupported major.minor version 52.0

    原来这个错误消息是由Java JDK与XAMARIN不兼容造成的:Android:Android SDK构建工具版本24需要Java JDK 1.8,而早期版本仍然兼容Java JDK 1.7。(这类似于关于相同错误的老答案。)

    2016年6月16日更新:

    android sdk build tools版本24的非预览版本现在在android sdk manager中提供。Android也与该版本不兼容。

    2016年4月12日信息:

    SDK Build Tools Version: 24 rc2

    "构建工具版本"看起来可能是问题所在。android还不能与android sdk manager中的"预览频道"中的"24 rc2"构建工具版本兼容。您可以使用android sdk manager卸载该预览版本并安装一个构建工具的非预览版本(如23.0.3)。


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

    xamarin.android 7.0需要JDK 1.8使用Android Nougat(API 24)API。您可以继续使用JDK的版本,如果针对早期的Android API级别:

    • JDK 1.8-API 24之前+

    • JDK 1.7-至API 23

    • JDK 1.6-最高API 20

    此外,使用自定义控件需要64位版本的JDK在安卓系统中设计师。

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

    (JDK 1.8的一个不幸的并发症是它与Android SDK中包含的Proguard的过时版本。目前这将导致错误"不支持的类版本号[52.0]",当尝试在xamarin.android中使用proguard或multidex功能。见44187。我建议您将其安装在Android在android-sdk\tools\proguard中提供的默认版本的一侧。只需将现有文件夹重命名为其他文件夹并添加新版本的Proguard即可。)


    解决方案!

    将Java SDK更改为1.8。重新启动Visual Studio后,运行"清理解决方案"、"生成"并感到高兴!

    enter image description here


    下载最新的JDK并安装,

    然后去:

    • VS2015工具>选项> XAMARIN,并将Java更改为最新版本JDK位置。
    • Xamarin Studio:工具->选项->SDK位置

    希望这有帮助。


    正如BrendanZagaski所说,这是由于使用构建工具的预览版本而产生的问题。

    请遵循这些步骤

    • 打开SDK管理器
    • 选择版本为24RC2的生成工具(请确保仅选择此项)
    • 单击卸载

    更新:详细答案可以在这里找到:https://stackoverflow.com/a/37827161/5073734

    **2016年11月更新**我的一些朋友告诉我,Nuget软件包也可能发生这种情况。如果上述问题无法解决,请尝试重新安装Nuget软件包。


    我意识到这已经有点老了,但我也遇到了这个问题,我在网上发现的任何东西都无法解决它。最后,我尝试卸载并重新安装我安装的一些nuget包(sqlite.net)。在那之后,它编译了。希望这对那些已经用尽了这些更常见的解决方案的人有用。


    确保如果在vs你去项目>项目名称属性>应用程序您已在Android SDK中下载了所有选定版本

    假设您只安装了Android 6.0(23级)和5.1.1(22级)的API,但您将最低Android设置为低于16级。它将给出java.lang.UnsupportedClassVersionError:error。

    只要确保使用正确的API级别


    删除版本24,下载并安装JDK 1.8GY112,将Java开发工具包更改为JKD1.8Y112(现在在程序文件中找到,而不是程序文件x86),并且重建项目对我来说是个诀窍。


    我面临同样的问题,我的系统安装了Java版本1.7。我在系统中安装了1.8版本。

    JDK工具的更新路径->选项> > XAMARIN > Android设置>(Java开发工具包位置)将JDK路径设置为新JDK版本

    再次重建项目,问题解决。


    几分钟前我也遇到了同样的问题。确定解决方案:A到工具>选项> XAMARIN > Android设置> Java开发工具包位置>将其更改为JDK 1.8请确保指向当前的Java版本

    100%工作