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

Arj*_*ath 106 macos android

编译时我得到错误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的文件夹位置,任何想法我怎么能在那里修复.

Sub*_*ian 224

针对此问题的精确修复(Mac上的Android Studio用户)

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

然后将JDK位置更改为

/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

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

/usr/libexec/java_home 
Run Code Online (Sandbox Code Playgroud)

  • 谢谢@Subin For Android studio 1.0.1**SDK位置**位于`File> Project Structure`或只是点击`Command +;` (10认同)
  • 我认真地看着我的位置,认为它很好,但只是一直看到jdk1.6,直到我意识到你的意思是确保你在/ Library/Java而不是/ System/Library/Java,我很容易找到jdk1. 8来到目录/家庭和繁荣,现在Android Studio工作没有不断的错误.你是一个圣人! (2认同)

gsu*_*008 29

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

让它为我工作. 安装JDK7的Oracle Docs

  • @Arjun和你的一样混乱.但后来我才意识到JDK 7的"Java"目录实际上位于`/ Library/Java`而不是我的JDK 6中的`/ System/Library/Java` (6认同)
  • 我看不到这个文件夹!我只显示这个文件夹`1.6.0.jdk` (2认同)

The*_*nil 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!