编译时我收到错误Error:compileSdkVersion android-21 requires compiling with JDK 7
,说需要更新版本的JDK。
我使用Android Studio v0.8.14在OS X Yosemite上运行
我检查过的事情:
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)
在JavaVirtualMachine文件夹中,我只能看到1.6.0.jdk
文件夹,我找不到任何其他文件夹。
尝试重新安装JDk 8和7!
我无法找到jvm 1.8的文件夹位置,知道如何解决这个问题。
答案 0 :(得分:224)
此问题的精确修复(Mac上的Android Studio用户)
如果您已经升级到Java 8,请注意JDK位置现在在/Library/Java
内,与Java 6的位置/System/Library/Java
相比。因此,要解决此问题,请右键单击项目文件夹> 项目结构> SDK位置。
然后将JDK位置更改为
/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
如果您安装了不同的JDK版本(Java 8除外),请先使用java_home
脚本查找路径并使用输出。跑吧,
/usr/libexec/java_home
答案 1 :(得分:29)
实际上我刚刚找到了解决方案 - JDK 7位于/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home中。
答案 2 :(得分:10)
我有一个解决方案。它也发生在我身上,我在Google上搜索了很多,但我得到的只是提示。很多提示。我想出了一个确定的解决方案。
这是因为计算机没有安装JDK 7(或更高版本)。 AS / Configuration中的JDK目录可能指向JDK6。 (那个系统/图书馆/...)
您需要做的就是:
以粗体斜体突出显示的文字可能有所不同,因此建议您浏览它。 希望这可以帮助。花了一整天搞乱gradle,android studio。快乐的编码。
答案 3 :(得分: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的格式:( - 当我向内容/主页提供完整路径时,它工作正常。
Subin的回答告诉你如何找到你的JDK位置,这取决于你想要做什么。
感谢Eric和Subin!
答案 4 :(得分:3)
我正在分享这个,因为我想帮助那些在Google搜索错误时发现这个问题的人。互联网上的大多数其他“答案”非常耗时。在你浪费这么多时间之前,按照下面的说法进行操作。
<小时/> 我所做的是下载JDK 7
然后将jdk的设置更改为1.7.0
答案 5 :(得分:3)
我也遇到过这个问题。到目前为止,我找不到它的修复方法,因此我已经将最大的SDK版本更改为20,这与JDK6一起使用。
至于文件位置,而不是Android工作室,假设它应该在/ System / Library / Java / JavaVirtualMachines / 插入JDK版本 / Contents / Home。
实际上我的JDK安装在/ Library / Java / JavaVirtualMachines / JDK Version Here / Contents / Home。
尝试在其安装的实际目录中选择一个JDK,让android studio说我需要选择一个有效的JDK位置。现在我无法找到修复方法,就像我上面所说的那样,我已经将最大的SDK版本更改为20而不是21,它会保持这样,直到更多的人要么遇到这个bug,以便谷歌修复它。或者直到实际修复在线发布而不是101种方式才能使其无效。
希望现在有所帮助,它不是一个真正的解决方案/答案,但它是一个适合我的工作,暂时。
答案 6 :(得分:0)
如果您只有文件夹1.6.0.jdk,请转到此link并下载并安装jdk 1.7。然后在此路径中找到您的java文件夹
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
答案 7 :(得分:0)
的/ usr /的libexec / JAVA_HOME