Fresh install of El Capitan(10.11), tried to install Android Studio version 1.21.
Error:
Android Studio was unable to find a valid JVM. Please download it from:
Download available from Apple -Java for OS X 2014-001 also does not install.
Error:
Java for OS X can't be installed on this disk. A newer version of this package is already installed
What is the best way of getting this to run?
For it to work on El Capitan (OSX 10.11) you need to install the Java Development Kit, not only Java VM
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
After installing JDK, Android Studio runs as expected!
You can either
If you favor the latter, you must first download and install the JDK8. Then unless Android Studio picks it up automatically, you'll have to configure it to use the newly installed JDK but not through its
Info.plist
as is often recommended but through aSTUDIO_JDK
environment variable (see link below for details). This can be done from the command line, in order to make sure Android Studio starts properly using JDK8:but you most likely want to also be able to open it from the GUI. In this case you can refer to this SO thread on how to create a
plist
launch agent which will be able to set theSTUDIO_JDK
variable forlaunchd
by substituting the command in the linked answer snippet with(of course replace
*
with your currently installed version).Lastly, you should check the official documentation on the selection of the JDK for Android Studio for more details on the procedure, the drawbacks, the rationale behind the method I described above and information on how to set up the project (not just IDE) JDKs as well.
NOTE
Current versions of Android Studio (2.2.2+) have OpenJDK8 embedded which resolves many of the issues surrounding use of Java 1.6. (source). Navigate to File > Project Structure > SDK Location and choose option to use the embedded JDK. If you still prefer to use your own version of JDK, the instructions below still apply.
After some experimentation:
I found that one needs to remove Java 1.6 since it is no longer supported by OS X 10.11+. Instead install the latest version of the JRE, JDK, and Java Package (from Apple). This will ensure that Android Studio picks up the latest JVM (and incidentally will also fix most other java based apps).
You may experience other error messages at this point that still reference Java 1.6. In my case, I had an old JDK version referencing 1.6 (which is now obsolete) in the following folder:
/Library/Java/JavaVirtualMachines
To fix:
The net effect is that on relaunch of Android Studio, the JVM version indicated in the Contents\Info.plist will no longer need to be modified (although since 1.6 is obsolete, I think it should be removed from all future releases). When updating Android Studio, the fix applied here will continue to be effective.
Alternative Solution
You can also point Android Studio to use a later version of Java. To do so you will need to download the latest JDK onto your system. See the details below.
After you load the latest version of Java you can redirect Android Studio to use that version of Java. You do this by editing the ~/.bash_profile in your home directory.
Bash Profile Edits
Official Documentation On Configuring Android Studio With Java notes that:
Updates
I created a stub in Automator to ensure that Android Studio always opens correctly, uses the JDK that you want, and removes various warning messages about any earlier Java that one might still have on their system (for example, one might still keep older versions to support other software).
Here's a quick preview of what that Automator script looks like:
In Automater, I save the script as an application and store in my Utilities folder (This allows me to give my stub the same name as the Android Studio app, which still needs to be installed in the normal way).
The benefit of this is that one can add the stub to the dock and Spotlight will also detect it. Launching the stub ensures that one no longer gets the prompts about invalid Java versions and that one always uses the explicit JDK intended.
I saved the stub on Github (https://github.com/mingsai/AndroidStudioStub) in case others may just want to download the zip and store in the Utilities Folder (Apple Menu > Go > Utilities) or Shift-Command-U. The stub has the Android Studio icon added to it.