ちょっとハマったのでメモがてらの投稿です。
Javaが入っていない?
先日ですが、新しいMacが支給されたので、Android Studioを入れて開発環境を構築しました。(インストールするだけですが。)
構築も完了し、Android Studioをポチポチしてアプリの実行などは問題なく出来、開発を進めていました。
で、ターミナルでGradleのタスクを実行しようとしたところ、
No Java runtime present, requesting install.
とエラーが…。
「Android Studioで実行出来たのに、なんでJavaが入ってないエラーが起きるんだろう…?」と色々調べてみました。
Android Studio 2.2以上には最新バージョンのOpenJDKのコピーがバンドル
はい、公式サイトに記載がありました。
https://developer.android.com/studio/intro/studio-config.html?hl=ja#jdk
Android StudioにJDKが入っていて、それを使っていたということですね。
Android Studioでも [File] > [Project Structure]
から確認することができました。(↓キャプチャ)
しかも、 recommended
と記載されているので、バンドルされているOpenJDKを使ったほうがいいということもわかりました。
Android Studioで使っているJDKをターミナルでも使う
ターミナルでJavaが使えない理由はわかりました。
で、Oracleのページからダウンロードしてもいいのですが、折角なのでAndroid StudioにバンドルされているJDKで使えるようにしたい。(逆に統一しといたほうが、変な差みたいなのが発生しないので良い?)
まぁ、Javaのパスを通す方法は、数多くのサイトで説明がされているので省略しますが、下記のような感じでOKでした。
export PATH=$PATH:/Applications/"Android Studio.app"/Contents/jre/Contents/Home/bin
export JAVA_HOME=/Applications/"Android Studio.app"/Contents/jre/Contents/Home
これで問題なくターミナルでGradleのタスクが実行できるようになりました
まとめ
Android Studioで使っているJDKをターミナルでも使う方法を記載しました。
バンドルされているJDKを使うことが推奨されているということもわかりました。
環境も整ったので、開発していくぞ