在我的应用程序中不受支持major.minor版本52.0

我想编译我的android项目,我得到这个错误

[INFO] Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0 [INFO] at java.lang.ClassLoader.defineClass1(Native Method) [INFO] at java.lang.ClassLoader.defineClass(ClassLoader.java:800) [INFO] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) [INFO] at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) [INFO] at java.net.URLClassLoader.access$100(URLClassLoader.java:71) [INFO] at java.net.URLClassLoader$1.run(URLClassLoader.java:361) [INFO] at java.net.URLClassLoader$1.run(URLClassLoader.java:355) [INFO] at java.security.AccessController.doPrivileged(Native Method) [INFO] at java.net.URLClassLoader.findClass(URLClassLoader.java:354) [INFO] at java.lang.ClassLoader.loadClass(ClassLoader.java:425) [INFO] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) [INFO] at java.lang.ClassLoader.loadClass(ClassLoader.java:358) [INFO] at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ 

我一直在阅读其他职位,尝试与Java 8编译可能会导致该错误,但不是我的情况下,我有以下的Java版本:

 java version "1.7.0_79" OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2) OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode) 

OS:Linux Mint(我没有安装Java 8)Build:MAVEN

谁能帮我这个? 提前致谢!

从android studio制作新项目时,我也面临这个问题。

我已经能够通过在app gradle设置中降级buildToolsVersion来解决这个问题:change {module-name} /build.gradle line

buildToolsVersion“24.0.0 rc1”

buildToolsVersion“23.0.3”

@编辑:
在Android Studio 2.1中,进入文件 – >项目结构 – >应用程序 – >生成工具版本。 将其更改为23.0.3

做上面的方法,只有当你使用Java版本7,由于某种原因不想升级到Java 8呢。

希望这可以帮助

Gradle脚本 >> build.gradle(Module app)

buildToolsVersion“24.0.0”更改为buildToolsVersion“23.0.3”

来源:经验

最初,我已经将buildToolsVersion24.0.0 rc3降级到23.0.3 ,正如Rudy Kurniawan的回答所指定的。 然后我注意到我的项目设置中指定了jdk 7。 我已经将其更改为jdk 8,现在构build工具24.0.0 rc3工作。

在这里输入图像描述

将编译选项设置为java7也很重要:

 android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } } 

我将Android Studio安装到Xamarin Visual Studio(已安装)。 安装后(不包括SDK,因为它们已经安装),我启动了Android Studio,下载,安装并添加了缺less的SDK(将path提供给SDK位置之后)。 因此,我得到了构build错误信息

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

作为一个解决scheme,我安装了没有JRE的jdk-8u101-windows-i586.exe (因为它已经安装)。 在我尝试x64版本之前,它已经消失了…然后你必须改变Java Development Kit的位置 。

更改JDK位置

这是通过单击工具>选项> Xamarin> Android设置在Visual Studio中完成的。 在这里,您可以导航到正确的位置。 在我的情况下,它是C:\Program Files (x86)\Java\jdk1.8.0_101

最后,清理你的项目并做一个新的构build:-)

指定的问题:

线程“main”中的exceptionjava.lang.UnsupportedClassVersionError:com / android / dx / command / Main:不支持的major.minor版本52。

是在build.gradlebuildToolsVersion 24声明的,而且我们没有安装这个版本所需的Java 8 。 为了解决这个问题,我们必须将buildToolsVersion从24更改为最大23:

在这里输入图像描述

今后Android Studio需要Java 8,所以我们必须开始使用Java 8。

我有我的IntelliJ Maven构build相同的问题。 我的“解决scheme”是进入构build工具,并删除构build工具24.0.0文件夹。 我在{android-sdk-location}/build-tools/目录中find它。 这不是一个长期的解决办法,但是这至less应该让你的项目再次build设。 像许多人所说的那样升级到Java 8将会更好。

这里没有人说,使用Build Tools 24.0.0,Java 8是必需的,大多数人拥有1.6或1.7。

所以是的,将构build工具设置为23.xx将“解决”问题,但根本原因是系统上的Java版本。

从长远来看,您可能希望升级您的开发环境以使用JDK8来使用新的语言增强function和插孔编译器。

我在Android Studio 2.0上面临同样的问题。 Rudy Kurniawan提供的解决scheme解决了这个问题。 受影响的文件可通过以下方式find:

“Project” – >“Android” – >“Gradle Scripts” – >“build.gradle(Module:app)”

项目 ”窗格是默认的左侧。 要find它,检查侧面标签的名称,点击它,然后使用顶部的下拉框到达“ Android ”。 展开窗格中的树以查找目标文件。 双击它进行编辑。

对不起,迟到的回复。希望它可以帮助别人

此问题与您的SDK相关,而与您的JDK无关。 你可以检查你的版本信息

帮助>关于>显示详细信息

你会得到类似的东西

Xamarin.Android版本:6.0.2.1(简化版)Android SDK:X:\ Android \ android-sdk

支持的Android版本:

4.0.3(API等级15)

4.4(API级别19)

6.0(API等级23)

SDK工具版本:24.4.1

SDK平台工具版本:23.0.1

SDK构build工具版本:24 rc2

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

java版本“1.7.0_71”

Java(TM)SE运行时环境(build 1.7.0_71-b14)

Java HotSpot(TM)客户端虚拟机(构build24.71-b01,混合模式,共享)

如果您使用预览工具进行构build,那么您将会得到类似的错误。

现在做什么?

工具 – > SDKpipe理器

  1. select预览频道中的所有项目,包括带有rev 24rc224rc4 (最新)的Android SDK build tools

  2. 点击Delete 'n' packages

如何closures预览频道

  1. 在SDKpipe理器中,select

    工具>选项

  2. 取消选中Enable preview tools

还有什么

回到你的代码清理全部重build (在极less数情况下,你必须从项目设置页面select构build工具)

在eclipse中做一个新的项目时,我也遇到了这个问题。

  1. 打开你的eclipse安装目录
  2. 打开文件eclipse.ini
  3. 修改

     Dosgi.requiredJavaVersion=1.6 

     Dosgi.requiredJavaVersion=1.7 

希望这可以帮助

52是JDK 8的代码。你可以在这里看到: http : //javarevisited.blogspot.com/2015/05/fixing-unsupported-majorminor-version.html 。 因此,Gradle期望您将JDK 8作为您计算机上的默认Java版本。 Android版Gradle的最新版本将不适用于Java 7。

解决scheme很简单:使Java 8成为您计算机上的默认jdk版本。

解决所有用户遇到这个问题。

  • 错误com / android / dx / command / dexer / main不支持的版本52.0 major.minor eclipse

  • 不受支持的版本52.0 major.minor ECLIPSE

ECLIPSE问题的解决办法写在你的project.properties文件中:

 sdk.buildtools = 23.0.3 

用ANDROID的问题的解决scheme是工作室版本2.1文件这写在BUESTRO project.properties:

 sdk.buildtools = 23.0.3 

在我的情况下,默认的jdk是1.7,然后通过浏览find更新的jdk的确切文件夹将其改为1.8。

感谢大家的解决scheme。

我可以用下面的解决scheme解决我的同样的问题

在我的项目中,我添加了在Java8中创build的jar。 而我的项目是指JRE 7.当我将项目JRE更改为8.我的问题解决了。

步骤:在eclipse中,右键单击项目浏览器中的项目名称>构buildpath>库>单击jre版本>单击编辑>已安装的JRE>添加>标准虚拟机>selectJRE home click-path(path应该是localePath \ java \ jdk1 .8.0_25 \ jre)>提供名称>保存>为项目select相同的JRE>完成>确定刷新/build立项目一次>尝试运行你的java文件。 它应该工作。

在Travis构build服务器上获取此错误消息?

我用buildToolsVersion “24.0.2”修复了我的travis版本

 # travis build language: android jdk: - oraclejdk8 android: components: - tools - build-tools-24.0.2 - android-23 - add-on - extra script: - jdk_switcher use oraclejdk8 - ./gradlew assemble 

我有同样的问题,并尝试更改版本,有时是在项目> Gradle脚本> build.gradle(模块:应用程序)您可以更改版本的Android Studio版本。 例如:

 android { compileSdkVersion **23** buildToolsVersion **"23.0.3"** defaultConfig { applicationId "com.example.android.myapplication" minSdkVersion **19** targetSdkVersion **23** versionCode **1** versionName **"1.0"** } 

从这个问题。

您可以尝试在您使用的IDE中将编译器级别更改回1.7。

  • 如果您使用的是Eclipse,请转至Windows —> Prefences,然后selectJava并展开它,然后selectCompiler并将合规性级别更改为1.7。
  • 如果您使用Android Studio,则可以将其添加到您的build.gradle

     android { compileSdkVersion 19 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 19 } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } } 

如果这没有帮助,请尝试在上面提到的链接中查看他人的答案,并让我们知道是什么帮助了你。

您的Android构build工具未正确安装。 尝试安装一些其他版本的构build工具,并在该gradle文件中提供该版本。 或者你可以去这个目录

C:\用户\\应用程序数据\本地\ Android的\ SDK \构build工具

并查看安装了哪些构build工具。 尝试更改gradle文件中的构build工具版本并编译应用程序以查看它是否正在工作。

我有22.0.1,23.0.02和24.0.0版本的构build工具,只有旧的22.0.1版本工作。

来源:我自己试了一下,它为我工作。

这个问题源于你的构build工具版本和JDK不能一起工作的事实。 我正在使用JDK版本7与生成工具24.0.1。 当然,降低构build工具版本可能会解决这个问题,但这不是一个真正的解决方法,因为将来升级构build工具将会再次破坏构build工具。

您应该确保构build工具版本和JDK一起工作。 我将我的构build工具升级到最新版本(24.0.1),并安装了jdk8。 确保将您的JAVA_HOME设置为最新,然后尝试清理构build。

尝试使用命令行(cordova build android)中的sdk构buildCordova时,在Android Studio之外获得了同样的问题。

鲁迪提供的解决scheme也适用于这种情况。 你只是不要从Android Studio降级构build工具的版本,但你使用android sdkpipe理器的用户界面。

我刚刚遇到这个问题。

从“预览频道”版本的SDK工具恢复,并build立工具到最新的稳定版本固定它。

com.android.tools.build:gradle:2.2.0-beta1更改为com.android.tools.build:gradle:2.1.2修复了我。

我的Android Studio版本是2.1.2,也许这就是为什么

最简单的解决scheme是你必须更新你的JDK到最新的版本。 因为Cordova只支持最新的JDK。

1 首先你必须更新你的Android SDK。 然后,

2.如果您无法通过您的terminal进行更新,请到您的Linux destro 软件中心并search最新(您要安装哪一个)并安装该软件。

然后再次运行Cordova构build

这将解决问题。

在我的情况下,它的工作。

您需要进入SDK安装目录,并确保/ build-tools子目录与应用程序的build.gradle文件中的buildToolsVersion匹配: 在这里输入图像描述

检查是否安装了C:\Program Files\JavaC:\Program Files (x86)\Java安装的最新版本的SDK

然后进入VS2015,并按照path工具 – 选项 – Xamarin – Android设置,在JDK位置select更改,并寻找您有x64或x32的版本。

我在cordova,这是我所做的:

– 重命名你的android项目,以便有新的空间
– 更新JAVA开发工具包到1.8(写这个最新的一个)
– 运行cordova platform add android

现在应该没有问题的工作。 你的应用哈希值将会改变,所以如果你正在使用它来进行facbeooklogin,你将需要更新它

我有这个问题太久了(SO等没有帮助),只解决了它(使用sdk 25)。

– local.properties文件proguard.dir var不适用于ant; 我已经指定了5.3.2,但是命令行调用和签名导出构build(eclipse)使用4.7,从sdk目录(只有5 +支持Java 8)

我的解决scheme是用当前(5+)版本的proguardreplacesdk中的proguard jar(android-sdk / tools / proguard / libs目录)。

不支持的主要次要版本错误可能是由于不受支持的JDK版本。 更新JDK,转到模块设置并将JDKpath更改为新的。 在大多数情况下,它修复了错误。

我有两个版本的Java jdk安装。 一旦我指出正确版本的Java jdk在文件 – >项目结构 – > SDK位置到我在JAVA_HOME环境variables中的最新版本,问题就消失了。