While compiling i get the error Error:compileSdkVersion android-21 requires compiling with JDK 7, saying that a newer version of JDK is required.
I'm running on OS X Yosemite with Android Studio v0.8.14
Things I checked :
- Java version :
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)
Inside the JavaVirtualMachine folder I can see only
1.6.0.jdkfolder, I cannot find any other folder.Tried reinstalling JDk 8 and 7!
I'm unable to find the folder location of jvm 1.8, any idea how I can fix there.
-
I am having this same problem. Have you found a solution to this?gsueagle2008– gsueagle20082014年11月03日 02:51:53 +00:00Commented Nov 3, 2014 at 2:51
-
@EricCumbee Using Jdk 7 as shown below solved the issue.Arjun Komath– Arjun Komath2014年11月25日 04:32:44 +00:00Commented Nov 25, 2014 at 4:32
-
4It's absurd that this is the first-run experience.Andy– Andy2015年01月10日 23:26:46 +00:00Commented Jan 10, 2015 at 23:26
9 Answers 9
The Exact Fix for this Issue (Android Studio Users on Mac)
If you have already upgraded to Java 8, please note that the JDK location is now within /Library/Java compared to Java 6's location /System/Library/Java. So to fix this problem, Right click on the Project folder> Project Structure> SDK Location.
Then change JDK location to
/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
If you have installed a different JDK version (other than Java 8), find out the path using the java_home script first and use the output. Just run,
/usr/libexec/java_home
5 Comments
File > Project Structure or simply hit Command + ;C:\Program Files\Java\jdk1.8.0_51Actually I just found the solution - JDK 7 is in /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home.
that got it working for me. Oracle Docs on where JDK7 is installed
6 Comments
1.6.0.jdk/Library/Java instead of /System/Library/Java separated from my JDK 6I got a solution. It happened with me too and I searched a lot on Google but all I got was hints. A lot of hints. And I came up with a sure shot solution.
This is because the computer doesn't have JDK 7 (or greater) installed. The JDK directory in AS/Configuration might points to JDK6. (That System/Library/...)
All you need to do is:
- Download latest JDK.
- Install it.
- Point Android Studio/Configure/Project Defaults/Project Structure/(JDK Location: ) to /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
Text highlighted in bold-italics may differ, so it's recommended that you browse it. Hope this helps. Spent a whole day messing up with gradle, android studio. Happy coding.
Comments
I found Eric and Subin's answers combined solved my problem:
i.e. need to set the java JDK to Eric's answer (assuming you're using JDK 7):
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home.
The mistake I made was I tried to just select the jdk1.7.0_71.jdk directory and I kept getting the error message "Please choose a valid JDK directory".
I was working on the format previously used for JDK 6 :( - It worked when I gave it the full path down to into Contents/Home.
Subin's answer tells you how to find your JDK location which may be different depending on what you're trying to do.
Thanks Eric and Subin!
Comments
I am sharing this because I want to help those that found this question when they Googled the error. Most other "answers" on the internet were very time consuming. Follow below before you waste so much time like I did.
What I did was to download JDK 7
Then change the setting of the jdk to 1.7.0
enter image description here
Comments
I have been having this problem too. So far I cannot find a fix for it, so I've resorted to changing the maximum SDK version to 20, which works with JDK6.
As for the file location, instead of Android studio assuming it should be in /System/Library/Java/JavaVirtualMachines/Insert JDK version/Contents/Home.
In reality my JDK gets installed in /Library/Java/JavaVirtualMachines/JDK Version Here/Contents/Home.
Trying to select a JDK in the actual directory where its installed makes android studio say that I need to select a valid JDK location. For now I can't find a fix, so like I said above, I have resorted to changing the maximum SDK version to 20 instead of 21 and it will stay like that until more people either suffer from the bug so that Google fix it. Or until an actual fix gets posted online instead of 101 ways for it not to work.
Hope this helps for now, it isn't really a solution/answer but it is a work around that works for me, for the time being.
Comments
The solutions on this thread are not valid for the same error in Android Studio 1.4 . The preferences menu, for example, is gone. Below is the solution for Android Studio 1.4 running on Ubuntu 14.04.
To solve in Ubuntu 14.04+ and Android Studio 1.4+, you need to go to
File -> Other Settings -> Default Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler -> Project Bytecode Version
This drop-down will be empty by default.
Set to your preferred JDK, in the case of the screencap below, 1.8 .
android sdk screencap
Voila, your project will compile.
Comments
- Download from here latest JDK.
- Open command line tool.
- Copy and paste following line into your command line tool and press return.
/usr/libexec/java_home
- Copy output of this command.
- Go back to your android project, and navigate as below
File -> Project structure -> JDK location
edit(click on square with three dots) JDK location(2nd in image) and paste command line tool output there.
enter image description here I have gathered these instructions using MacBook Pro.