I tried to open Android Device Monitor and the Studio showed me this message =-O :
It surprised me, because how have I been able to develop Android apps if I didn't have any Java installed?! Actually, Android Studio comes with bundled JDK/JRE (located in /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
), but it is not found by the system: executed usr/libexec/java_home
gives
Unable to find any JVMs matching version "(null)".
No Java runtime present, try --request to install.
Setting $JAVA_HOME
to /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
did not help — source .bash_profile
doesn't like that it's a directory.
QUESTION: I don't want to install new JDK if I already have one inside Android Studio. How do I set it as system default?
For some magical reason restarting the OS helped. And also adding the correct string export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home/
to .bash_profile
(and reloading with source .bash_profile
).
If you're using Catalina and above, you most probably use zsh as a shell instead of bash. In that case, add it to .zshrc
or .zprofile
instead of .bash_profile
in your home directory
After that, running java -version
gave this output and Java started to execute normally:
openjdk version "1.8.0_112-release"
OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
OpenJDK 64-Bit Server VM (build 25.112-b06, mixed mode)
As for the Android Device Monitor — it still demands this ancient JRE version 6.