错误:compileSdkVersion android-21要求使用JDK 7进行编译


106

编译时出现错误Error:compileSdkVersion android-21 requires compiling with JDK 7,提示需要更新版本的JDK。

我在带有Android Studio v0.8.14的OS X Yosemite上运行

我检查过的事情:

  1. Java版本:

java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

  1. 在JavaVirtualMachine文件夹中,我只能看到1.6.0.jdk文件夹,找不到其他文件夹。

  2. 尝试重新安装JDk 8和7!

我找不到jvm 1.8的文件夹位置,无论如何我都可以在那里找到它。


我遇到了同样的问题。您找到解决方案了吗?
gsueagle2008

@EricCumbee如下所示,使用Jdk 7解决了该问题。
Arjun Komath 2014年

4
荒谬的是,这是第一次体验。
安迪

Answers:


224

此问题的确切修复(Mac上的Android Studio用户)

如果您已经升级到Java 8,请注意,/Library/Java与Java 6的位置相比,现在的JDK位置在此范围内/System/Library/Java。因此,要解决此问题,右键单击Project folder> Project Structure>SDK Location.

然后将JDK位置更改为

/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

如果安装了其他JDK版本(Java 8以外的版本),java_home请先使用脚本找出路径,然后使用输出。赶紧跑,

/usr/libexec/java_home 

10
感谢@Subin对于Android studio 1.0.1 SDK的位置位于File > Project Structure或只需按一下即可Command + ;
Husam

1
android studio用户的完美答案..救了我
reidisaki

以下提到的路径对我
有用

2
我认真地一直看着我的位置并认为这很好,但是一直看到jdk1.6,直到我意识到您要确保自己位于/ Library / Java而不是/ System / Library / Java的意思之后,我才容易找到jdk1。 8进入目录/家庭和繁荣,现在Android Studio可以正常运行。你是圣人!
ColossalChris

1
这也适用于Windows!只需指向JDK安装即可。范例:C:\Program Files\Java\jdk1.8.0_51
ADTC

29

实际上,我刚刚找到了解决方案-JDK 7在/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home中。

它为我工作。 安装JDK7的Oracle文档


2
我看不到该文件夹​​!我的仅显示此文件夹1.6.0.jdk
Arjun Komath 2014年

我不记得Android Studio最初的位置,但1.7 JDK文件夹与1.6.0jdk不在同一目录树中。
gsueagle2008

6
@Arjun和您一样困惑。但是后来我才意识到JDK 7的“ Java”目录实际上位于/Library/Java而不是/System/Library/Java与我的JDK 6分开
akhy 2014年

因此,以简单的英语来说,您实际上是如何解决此问题的?
JGallardo 2014年

{ROOT} /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/
gsueagle2008 2014年

10

我有解决办法。这件事也发生在我身上,我在Google上搜索了很多东西,但我得到的只是提示。很多提示。我想出了一个确定的解决方案。

这是因为计算机没有安装JDK 7(或更高版本)。AS / Configuration中的JDK目录可能指向JDK6。(该系统/库/ ...)

您需要做的只是:

  1. 下载最新的JDK。
  2. 安装它。
  3. 将Android Studio /配置/项目默认值/项目结构/(JDK位置:)指向/ Library / Java / JavaVirtualMachines / jdk1.8.0_25.jdk / Contents / Home

以粗斜体突出显示的文本可能有所不同,因此建议您浏览。希望这可以帮助。花了整整一天时间忙于使用gradle和android studio。快乐的编码。


7

我发现Eric和Subin的答案结合起来解决了我的问题:

即需要将Java JDK设置为Eric的答案(假设您使用的是JDK 7):

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home。

我犯的错误是我尝试仅选择jdk1.7.0_71.jdk目录,但不断收到错误消息“请选择一个有效的JDK目录”。

我正在使用以前用于JDK 6的格式:(-当我将其提供到Contents / Home的完整路径时,它就可以使用。

Subin的答案告诉您如何找到您的JDK位置,具体取决于您要执行的操作。

感谢Eric和Subin!


3

我要分享的原因是,我想帮助那些在Google搜索错误时发现此问题的人。互联网上的其他大多数“答案”都非常耗时。请按照下面的步骤进行操作,然后再像我一样浪费大量时间。


我所做的是下载JDK 7

然后将jdk的设置更改为 1.7.0

在此处输入图片说明


3

我也有这个问题。到目前为止,我无法找到修复程序,因此我不得不将最大SDK版本更改为20,该版本可与JDK6一起使用。

至于文件位置,假设它应该位于/ System / Library / Java / JavaVirtualMachines / 插入JDK版本 / Contents / Home ,而不是Android studio 。

实际上,我的JDK已安装在/ Contents / Home的/ Library / Java / JavaVirtualMachines / JDK版本中

尝试在安装了JDK的实际目录中选择一个JDK,这使得android studio说我需要选择一个有效的JDK位置。就目前而言,我找不到修复程序,因此如上所述,我已将最大SDK版本更改为20,而不是21,并且它将一直保持这种状态,直到有更多人遭受该bug的困扰后,Google才对其进行修复。或者直到实际的修复程序在线发布,而不是通过101种方式使其无法正常工作。

希望目前能对您有所帮助,这并不是真正的解决方案/答案,但暂时可以解决这个问题。


0

如果只有1.6.0.jdk文件夹,请转到此链接并下载并安装jdk 1.7。然后在此路径中找到您的Java文件夹

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home

0

此线程上的解决方案对于Android Studio 1.4中的同一错误无效。例如,首选项菜单不存在。以下是在Ubuntu 14.04上运行的Android Studio 1.4的解决方案。

要在Ubuntu 14.04+和Android Studio 1.4+中解决,您需要转到

文件->其他设置->默认设置->构建,执行,部署->编译器-> Java编译器->项目字节码版本

默认情况下,此下拉列表为空。

对于以下屏幕截图,请设置为您首选的JDK 1.8。

Android SDK截图

瞧,您的项目将编译。


0
  1. 从这里下载最新的JDK。
  2. 打开命令行工具。
  3. 将以下行复制并粘贴到命令行工具中,然后按回车键。

/ usr / libexec / java_home

  1. 复制此命令的输出。
  2. 返回您的android项目,并按以下方式导航

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

编辑(单击带有三个点的正方形)JDK位置(图像中为第二个),然后在其中粘贴命令行工具输出。

在此处输入图片说明 我已使用MacBook Pro收集了这些说明。

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.