Android Studio继续获得不受支持的major.minor版本52.0


74

将我的项目与其他开发人员的一些更改合并后,我继续获得以下内容:

Error:Cause: com/android/build/gradle/internal/model/DefaultAndroidProject : Unsupported major.minor version 52.0

我尝试安装Java 8,并将项目设置为使用Java8。如果我在命令行上将JAVA_HOME更改为1.8,并使用gradle进行编译,则它可以正常工作。如果我尝试将JAVA_HOME设置为1.7并进行gradle,它将失败,并显示相同的错误。

但是,在Android Studio中,无论JDK版本如何,它都会继续打印该错误。

其他开发人员则表示他们正在使用Java 7,没有任何问题。我尝试过的其他方法:

gradle clean build
gradlew clean build
Reinstalling Android Studio

另一个有趣的症状是,Android Studio中的其他项目非常满意。只是这个项目有这个问题。

这是我的环境设置:

OS: Mac OS X 10.9.5
Android Studio: 2.1.1
Android Studio JVM: 1.6
Project JVM: 1.7.0_75
Android SDK (Build Tools): 23.0.2
Gradle: 2.13
JAVA_HOME: /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
ANDROID_HOME: /Users/me/Library/Android/sdk

我怀疑这与gradle包装器有关,但是我无法弄清楚如何使用Gradle包装器来重新初始化自身1.7。


请在这里查看我的答案(SebastianCorradi):stackoverflow.com/a/40891189/3703091
Sebastian Corradi

Answers:


77

尝试菜单File - > Invalidate caches and restart。还要确保gradle插件是最新的:

classpath 'com.android.tools.build:gradle:2.1.0'

6
在使缓存无效的同时,并没有这样做。修订版是构建工具gradle版本。它设置为2.2.0-alpha1,一旦我将其回滚到2.1.0,它似乎又高兴了!谢谢你的帮助。
chubbsondubs's

1
设置classpath'com.android.tools.build:gradle:2.1.3',就可以了。
qinmiao

1
我添加了类路径'com.android.tools.build:gradle:2.2.0',但仍收到错误:(1、0)原因:com / android / build / gradle / AppPlugin:不支持的major.minor版本52.0
Ashish Jain

2
@Stepan Maksymov:我的Android Studio版本为2.3,我的课程路径为,classpath 'com.android.tools.build:gradle:2.3.0'但仍然出现错误。错误:(1,1)评估项目':app'时发生问题。> java.lang.UnsupportedClassVersionError:com / android / build / gradle / AppPlugin:不支持的major.minor版本52.0您能否告诉我项目中的确切问题是什么?
BK19 '17

3
在哪里添加这一行?
Abhishek

60

将您的JAVA_HOME设置为使用jdk 1.8。

还要检查您在Android Studio中的SDK位置:

文件->其他设置->默认项目结构-> SDK

在此处输入图片说明


是的,您应该尝试更新JAVA_HOME以指向JDK 8位置。就我而言,我已经更新了Android Studio项目的SDK设置,更改了我的PATH env变量中的Java版本,但是仍然发生了此错误。仅更新JAVA_HOME对我有所帮助。
Vadim Kotov'9

从java1.7升级到java1.8后,请不要忘记让Android Studio知道...这就是我的情况。
王玮

好上帝,那是永远的埋葬。我更改了系统环境变量,在android studio文件->设置菜单中覆盖了JAVA_HOME,但这是问题所在。
ArtHare's

我选择了“使用嵌入式JDK”,它起作用了。谢谢
Pontios'9

30

这使我在MAC上工作:

转到>>文件>项目结构...> SDK位置(在左列中)> JDK位置部分:选中 Use embedded JDK (recommended)

在此处输入图片说明


1
我从旧的Android Studio升级到了Android Studio 2.3.2。得到了错误。事实证明,JDK的位置指向自定义JDK 1.7安装。将其设置为“使用嵌入式JDK”,问题就消失了。
亚历山大·范·奥斯滕里克

我也是,对于Android Studio 3.0。我不明白为什么在安装android studio时它不是默认设置...
mike gold

这是您正在寻找朋友的解决方案。谢谢。
Henrik Petterson


12

尝试设置STUDIO_JDK环境变量。对我有用的是:

launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_76.jdk

显然,将1.8.0_76替换为已安装的JDK 8的任何版本。我一直很懒惰,还没有花时间来找出正确的方法来使这些工作在重新启动后起作用(通常,每次重新启动时我都必须运行该方法),但这应该可以为您解决问题。


如果我需要停留在gradle 2.2.0-alpha1上,这可能是解决方案,因此感谢您的建议。
chubbsondubs's

7

如果看到此错误,则需要在“项目结构”选项中更新JDK。

在文件>项目结构> SDK下可以找到它。或者从“配置”>“项目默认值”>“项目结构”中的欢迎屏幕。

选择“使用嵌入式JDK(推荐)”选项,而不是使用自己的JDK。


5

打开文件“ / Application / Android Studio / Contents / info.plist”,找到键“ JVMVersion”,将其替换为1.8.x(这是您的Java版本,在执行此操作之前,您应该安装JDK 1.8.x或更高版本)


在Mac上的位置是/ Applications / Android \ Studio.app/Contents/Info.plist,替换为以下文件并起作用:<key> JVMVersion </ key> <string> 1.8 * </ string>
Yuntao

5

最终对我有用的是设置gradle JVM设置。

在Mac上,转到

首选项->构建,执行,部署->构建工具-> Gradle

将Gradle JVM下拉列表设置为使用Java 1.8。我的设定为1.7。

注意:我还做了Entreco发布的SDK位置更改,但是没有设置JAVA_HOME环境变量。



3

检查您的SDK在Android Studio中的位置:

文件->项目结构-> SDK位置

设置JDK位置:/ Applications / Android Studio.app/Contents/jre/jdk/Contents/Home

在此处输入图片说明


2

检查您的Project SDK位置是否为JAVA 1.8

也许您也应该检查Project gradle JVM设置


1

我也遇到了这个问题,当我更新JDK并将JDK在android中的位置更改为最新版本时,此问题已解决。

文件->其他设置->默认项目结构-> JDK位置(更改为最新版本,更改为jdk1.8.0_92后解决了我的问题)



0

不要将gradle与alpha版本一起使用


0

发生此问题可能有两个主要原因。

  1. Java版本问题

检查兼容的Java版本,并将您的开发环境JDK更新为相同版本。

  1. 摇篮版本问题

这基本上是gradle版本中的问题。请检查项目gradle版本是否等于开发环境中使用的gradle版本


0

当您将项目转移到另一台计算机并且安装的google.play.service不相同时,此问题将很严重。从SDK Manager工具重新安装它们


0

前段时间我遇到了同样的问题。实际上是由设置中的错误路径引起的!自更新后,AndroidStudio 2.3将其自身安装到C:\Program Files\Android\Android Studio1并且路径设置为C:\Program Files\Android\Android Studio\gradle\gradle-2.10而不是C:\Program Files\Android\Android Studio1\gradle\gradle-2.10

确实是一个愚蠢的问题,但幸运的是有一个简单的解决方案。)


0

在这种情况下,Android Studio表现异常。即使您在文件->项目结构-> SDK位置中设置了JDK版本,Android Studio仍仅使用此版本来编译文件。当运行这些文件时,由于某种原因,它将使用系统安装的java版本,即usr / local / bin。

因此,您必须将path变量设置为指向与Android Studio项目设置中设置的Java版本相同的Java。

导出PATH =“ / Applications / studio.app / Contents / jre / jdk / Contents / Home / bin:$ PATH”

在我的情况下,我的项目配置为使用Java 1.8,但是我在系统范围内安装的Java是Java 1.7。这是造成问题的原因。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.