在我的应用程序中不支持 Major. small 版本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] ------------------------------------------------------------------------

我已经在其他文章中读到,尝试用 Java8编译可能会导致这个错误,但不是我的情况,我有以下 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)

操作系统: Linux Mint (I'm not have Java 8 installed.) 建造: MAVEN

有人能帮我吗?

170117 次浏览

来自 这个的问题。

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

  • 如果在 Eclipse 上,转到 Windows ——-> Prefences,然后选择 Java 并展开它,然后选择 Compiler 并将遵从级别更改为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
    }
    }
    

If this doesn't help, try checking other's answer in the link mentioned above and let us know what helped you.

I face this problem too when making new project from android studio.

我可以通过在应用程序级别设置中下调 buildToolsVersion 来解决这个问题: Change { module-name }/build.gradle 行

BuildToolsVersion“24.0.0 rc1”

buildToolsVersion "23.0.3"


@ 编辑:
在 Android Studio 2.1中,转到文件-> 项目结构-> 应用程序-> 构建工具版本,将其更改为23.0

执行上面的方法,仅当您使用的是 java 版本7,并且由于某些原因还不想升级到 java 8。

希望这个能帮上忙

我刚遇到这个问题。

从“预览通道”版本的 SDK 工具和构建工具恢复到最新的稳定版本固定了它。

我使用的是 Android Studio 2.0,面临着同样的问题。 Rudy Kurniawan 提供的解决方案解决了这个问题:

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

Project”窗格默认位于左侧。要找到它,检查侧标签的名称,单击它,然后使用顶部下拉框得到“ 仿生人”。展开窗格中的树以查找目标文件。双击它进行编辑。

Initially I had downgraded buildToolsVersion from 24.0.0 rc3 to 23.0.3, as specified in Rudy Kurniawan's answer. Then I have noticed that I have jdk 7 specified in my project settings. I have changed it to jdk 8 and now build tools 24.0.0 rc3 work.

enter image description here

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

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

我也遇到过同样的问题并试图改变版本,有时是针对 Android Studio 的版本,在 Project > Gradle Scripts > build.Gradle (Module: app)中你可以改变版本。例如:

android {
compileSdkVersion **23**
buildToolsVersion **"23.0.3"**


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

谢谢大家的解答。

我可以解决我的同样的问题使用下面的解决方案。

在我的项目中,我添加了用 Java8创建的 jar。我的项目是指 JRE 7。当我改变项目 JRE 为8。我的问题解决了。

步骤: 在 Eclipse 中,右键单击 Project Explorer > build path > Library > click on JRE version > click edit > install JRE > add > StandardVM > select JRE home click-path (path should be localePath java jdk1.8.0 _ 25 JRE) > offer name > save > select same JRE for project > Finish > ok Refresh/build project once > 尝试运行 Java 文件。应该能行。

抱歉这么晚才回复,希望能帮到别人

这个问题与您的 SDK 有关,而与您的 JDK 无关。 您可以从以下位置检查您的版本信息

帮助 > 关于 > 放映详情

你会得到

Xamarin Android 版本: 6.0.2.1(初学者版) Android SDK: X: Android Android-sdk

支持 Android 版本:

4.0.3(空气污染指数级别15)

4.4(空气污染指数级别19)

6.0(空气污染指数级别23)

SDK Tools Version: 24.4.1

SDK Platform Tools Version: 23.0.1

SDK 构建工具版本: 24rc2

Java SDK: X: Program Files (x86) Java jdk1.7.0 _ 71

Java 版本“1.7.0 _ 71”

Java (商标)系统工程执行期函式库(build 1.7.0 _ 71-b14)

Java HotSpot (TM)客户端 VM (build 24.71-b01,混合模式,共享)

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

现在怎么办?

Goto

工具-> SDK 管理器

  1. 选择预览频道中的所有项目,包括 Android SDK build tools和转速 24rc224rc4(最新版本)

  2. 点击 Delete 'n' packages

如何关闭预览频道

  1. 在 SDK 管理器中,选择

    工具 > 选项

  2. 取消 Enable preview tools

还有什么

返回到代码 Clean all和 < em > 重新构建 (在极少数情况下,您必须从项目设置页面中选择构建工具)

我的 IntelliJ Maven 版本也有同样的问题。我的“解决方案”是进入构建工具并删除构建工具24.0.0文件夹。我在 {android-sdk-location}/build-tools/目录中找到的。这不是一个长期的解决方案,但至少应该让您的项目再次构建。从长远来看,像许多人建议的那样升级到 Java8会更好。

Gradle Scripts > > < strong > build.Gradle (Module app)

buildToolsVersion "24.0.0"改为 BuildToolsVersion“23.0.3”

资料来源: 经验

您的 Android 构建工具没有正确安装。尝试安装其他版本的构建工具,并在 gradle 文件中提供该版本。 或者你可以进入这个目录

用户 AppData 本地 Android sdk 构建工具

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

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

source: i tried it myself and it worked for me.

我安装了两个版本的 java jdk。一旦我在文件-> 项目结构-> SDK 位置中指向我在 JAVA _ HOME 环境变量中使用的最新版本的 JAVA jdk 的正确版本,这个问题就消失了。

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

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

    Dosgi.requiredJavaVersion=1.6
    

    Dosgi.requiredJavaVersion=1.7
    

Hope this helps

问题指明:

线程“ main”java.lang 中的异常。不支持 ClassVersionError: Com/android/dx/command/Main: 不受支持的 Major。

是在 build.gradlebuildToolsVersion 24中声明的,并且我们没有安装这个版本 所需要的 Java8。为了解决这个问题,我们必须把 buildToolsVersion从24变成最大值23:

enter image description here

将来 Android Studio必须使用 Java8,因此我们必须开始使用 Java8。

com.android.tools.build:gradle:2.2.0-beta1改成 com.android.tools.build:gradle:2.1.2我就修好了。

我的 Android Studio 版本是2.1.2,也许这就是原因

这里没有人说的是,在 BuildTools24.0.0中,需要 Java8,而大多数人要么有1.6,要么有1.7。

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

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

这个问题源于构建工具版本和 JDK 不能一起工作的事实。我使用的是 JDK version 7和构建工具24.0.1。当然,降低构建工具版本可能会解决这个问题,但这不是一个真正的修复,因为将来升级您的构建工具会再次打破它。

您应该确保构建工具版本和 JDK 协同工作。我将构建工具升级到了最新版本(24.0.1)并安装了 jdk8。请确保将您的 JAVA _ HOME 设置为 best,然后尝试进行干净构建。

Got the same issue outside of Android Studio, when trying to build for Cordova using the sdk from command line (cordova build android).

鲁迪提供的解决方案也适用于这种情况。只是不能从 Android Studio 降级 Build Tools 版本,而是使用 Android sdk Manager ui。

在 Travis 构建服务器上得到这个错误消息?

我修复了我的 Travis版本 构建工具版本 "24.0.2"

# 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

最简单的解决方案是必须将 JDK 更新为最新的版本。因为 Cordova 只支持最新的 JDK。

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

2.如果无法通过终端进行更新,请访问 Linux destro 的 软件中心,搜索最新版本(您想安装哪一个)并安装该版本。

然后再运行 科尔多瓦建筑

这样问题就解决了。

在我的案子里,成功了。

我在 Xamarin Visual Studio 旁边安装了 Android Studio (已经安装了)。安装完成后(不包括 SDK,因为它们已经安装了) ,我启动了 Android Studio,它下载、安装并添加了缺失的 SDK (在给出 SDK 位置的路径之后)。结果,我在构建时得到了错误消息

不支持 ClassVersionError: com/android/dx/command/Main: 不支持 Major. small 版本52.0

As a solution I installed jdk-8u101-windows-i586.exe without JRE (because it was already installed). Before I tried the x64 version, but it disappeared ... Then you have to change the JDK 位置.

Change JDK location

这是在 Visual Studio 中通过单击 Tools > Options > Xamarin > Android Settings 完成的。在这里您可以导航到正确的位置。对我来说是 C:\Program Files (x86)\Java\jdk1.8.0_101

最后,清理您的项目并创建一个新的版本: -)

您需要进入您的 SDK 安装目录,并确保 /建造工具子目录与应用程序 build.gradle 文件中的 buildToolsVersion匹配: enter image description here

52 is the code for JDK 8. You can see that here: http://javarevisited.blogspot.com/2015/05/fixing-unsupported-majorminor-version.html. So Gradle is expecting you to have JDK 8 as the default Java version on your machine. Newest versions of Gradle for Android won't work with Java 7.

解决方案很简单: 使 Java8成为您机器上的默认 jdk 版本。

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

然后转到 VS2015,按照路径工具-选项-Xamarin-Android 设置,在 JDK 位置选择 change 并查找 x64或 x32的版本。

I am on cordova, here's what I've done:

- rename your android project, so that there's space for new one
- 更新 JDK 至1.8(撰写本文时的最新版本)
运行 cordova platform add android

现在应该没问题了。您的应用程序散列将发生变化,所以如果您正在使用它的脸谱网登录,您将需要更新它

我已经有这个问题太长时间(所以等没有帮助) ,只是解决了它(使用 sdk 25)。

- local.properties 文件 proguard.dir var 没有应用于 ant; 我指定了5.3.2,但是命令行调用和签名导出 build (eclipse)使用的是 sdk dir 中的4.7(只有5 + 支持 java 8)

我的解决方案是用当前(5 +)版本的 proGuard 替换 sdk 中的 proGuard jar (android-sdk/tools/proGuard/libs 目录)。

在我的例子中,默认的 jdk 是1.7,然后我通过浏览更新后的 jdk 所在的确切文件夹将其更改为1.8。

不支持的大小版本错误可能是由于不支持的 JDK 版本。更新 JDK,进入模块设置并将 JDK 路径更改为新的路径。在大多数情况下,它会修复错误。