错误:compileSdkVersion android-21需要使用JDK 7编译

编译时出现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!

我无法findjvm 1.8的文件夹位置,任何想法如何我可以在那里修复。

这个问题的精确修复(Mac上的Android Studio用户)

如果您已经升级到Java 8,请注意,与Java 6的位置/System/Library/Java相比,JDK位置现在位于/System/Library/Java 。 所以要解决这个问题,请右键点击Project文件夹 > Project Structure > SDK Location。

然后将JDK位置更改为

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

如果您安装了不同于JDK的版本(Java 8除外),请首先使用java_home脚本查找path并使用输出。 赶紧跑,

 /usr/libexec/java_home 

其实我只是find了解决scheme – JDK 7是在/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home。

这让它为我工作。 关于安装JDK7的Oracle Docs

我有一个解决scheme。 它也发生在我身上,我在Google上search了很多,但是我得到的只是一些提示。 很多提示。 我想出了一个可靠的解决scheme。

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

所有你需要做的是:

  1. 下载最新的JDK。
  2. 安装它。
  3. Android Studio /configuration/项目默认值/项目结构/(JDK位置:)到/ Library / Java / JavaVirtualMachines / jdk1.8.0_25.jdk /目录/主页

以粗体显示的文本可能会有所不同,因此build议您浏览它。 希望这可以帮助。 花了整整一天搞乱了gradle,android studio。 快乐的编码。

我发现埃里克和苏宾的答案共同解决了我的问题:

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

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

我犯的错误是我试图只selectjdk1.7.0_71.jdk目录,并不断收到错误消息“请select一个有效的JDK目录”。

我正在使用以前用于JDK 6的格式:(当它将完整path下载到Contents / Home中时,它工作正常。

Subin的答案告诉你如何find你的JDK的位置,这可能是不同的,取决于你想要做什么。

感谢Eric和Subin!

我分享这个,因为我想帮助那些发现这个问题时,他们谷歌search错误。 互联网上的大多数“答案”都非常耗时。 按照下面的方式,你像我这样浪费了很多时间。


我所做的就是下载JDK 7

然后将jdk的设置更改为1.7.0

在这里输入图像说明

我也一直有这个问题。 到目前为止,我找不到一个修复,所以我已经把最大的SDK版本改为20,这与JDK6。

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

实际上,我的JDK安装在/ Library / Java / JavaVirtualMachines / JDK Version Here / Contents / Home中。

试图select一个JDK的实际目录,其安装使得android studio说我需要select一个有效的JDK位置。 现在我找不到解决办法了,就像我上面所说的那样,我已经把最大的SDK版本改为20而不是21,它会一直保持这样的状态,直到更多的人受到这个bug的困扰,让Google修复它。 或者直到一个实际的修补程序在网上发布,而不是101的方式,它不工作。

希望这有助于现在,这不是一个真正的解决scheme/答案,但它是一个解决scheme,对我来说暂时工作。

如果你只有文件夹1.6.0.jdk然后去这个链接并下载并安装JDK 1.7。 然后在这个path中find你的java文件夹

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

此线程上的解决scheme对于Android Studio 1.4中的相同错误无效。 例如,首选项菜单已经消失。 以下是在Ubuntu 14.04上运行的Android Studio 1.4的解决scheme。

要在Ubuntu 14.04+和Android Studio 1.4+中解决,你需要去

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

这个下拉菜单默认是空的。

设置为您的首选JDK,下面的屏幕截图为1.8。

android sdk screencap

瞧,你的项目会编译。

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

的/ usr /的libexec / JAVA_HOME

  1. 复制此命令的输出。
  2. 回到你的Android项目,并导航如下

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

编辑(点击三个点的方块)JDK位置(图像中的第二个),并粘贴命令行工具输出。

在这里输入图像说明 我已经使用MacBook Pro收集了这些说明。