Java El Capitan

Question or issue on macOS:

Fresh install of El Capitan(10.11), tried to install Android Studio version 1.21.

Capitan

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.

Step to step guide how to use 32bit version of Java in Eclipse 0 I can't run Eclipse on Macbook on Yosemite: 'Version 1.6.065 of the JVM is not suitable for this product.'

  • The thing is, the upcoming release of OS X 10.11 (El Capitan) is going to drop Java 6 (Java is currently at version 8, I believe?). So if they don't update the client to a newer Java version, then when El Capitan does come out (which is coming up quite soon) then Jagex will be losing out on quite a few RuneScape players.
  • I got it working by adding to /.profile. Somehow after updating to El Capitan beta, it didnt work even though JAVAHOME was defined in.bashprofile. If there are any El Capitan beta users, try adding to.profile.

Error:

Capitan

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?

How to solve this problem?

Solution no. 1:

For it to work on El Capitan (OSX 10.11) you need to install the Java Development Kit, not only Java VM

After installing JDK, Android Studio runs as expected!

Solution no. 2:

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:
Java for mac os x el capitan

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:

  1. Click Finder (Anywhere on the Desktop)
  2. Type Cmd-N to open a Finder window
  3. Press Cmd-Shift-G to open a Go to folder Menu
  4. Paste in the following : /Library/Java/JavaVirtualMachines
  5. Delete old JDK files (You will need the admin password)

The net effect is that on relaunch of Android Studio, the JVM version indicated in the ContentsInfo.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
Capitan

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.

Java For El Capitan

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.

  1. Open Terminal
  2. Type nano ~/.bash_profile
Bash Profile Edits


Nota Bene ~ Please use the latest JDK available and adjust the version
reference as necessary. Don’t forget to accept the license before clicking the download.

Official Documentation On Configuring Android Studio With Java notes that:


Android Studio requires two different JDKs: The version of Java that
the IDE itself runs with. The version of the JDK that it uses to get
the Java compiler from

Updates

Java Se 6 El Capitan

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.

Solution no. 3:

Java El Capitan Update

You can either

  1. reintroduce Java6 or
  2. make Android Studio run on a more recent JDK

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 a STUDIO_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 the STUDIO_JDK variable for launchd 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.

Java El Capitan Download

Hope this helps!