【MacOS】Android Stadio monitorが起動しない

Pocket

Unityでアプリ開発中。Androidエミュレータで動作確認をしていると異常終了するので、原因を探るためにmonitorでログを見ようとしたところ、まさかの起動しない。
エラーログらしきものを出力して終了してしまいます。

Android Stadioでプロジェクトを作っていると、Android Stadioのメニューバーからmonitorを起動できるみたいですが、今回はそうじゃないのでコンソールから直接monitorを起動。

/Users/(ユーザ名)/Library/Android/sdk/tools/monitor

するとこの表示はでるものの…

しばらく待つとこんなメッセージと共に終了。

ログを確認してくれといわれるので、表示されている場所のログを確認。中身はこんな感じ。

画像は切り取ってありますが、かなり長いエラーログです…。
読むのが面倒で、しかも読んでも解決に繋がらなくて色々振り回されたのですが、最終的に注目すべきは上部のjavaの記述。

「java.version=9.0.4」って書いてあるんですよね。確かに、うちのMacにはjava9がインストールされています。
しかし、Android Stadioはjava9に非対応…。

ということで、”JAVA_HOME”にjdk1.8のパスを記述して起動を試みたのですが…失敗します。
先ほどの場所に出力されるログを確認すると、まだjava9を参照しているんです。
“JAVA_HOME”を参照してるわけじゃないんですね。

じゃあ、起動オプションで設定できないかと、monitorの中身を確認。
どうやらとある場所のmonitorを起動していて、同じ階層にiniファイルがあった。
場所は以下。
/Users/(ユーザ名)/Library/Android/sdk/tools/lib/monitor-x86_64/monitor.app/Contents/MacOS/monitor.ini

iniファイルの書き方を検索し、javaバージョンを指定できるオプションがないかなと検索。
eclipse.iniの情報がたくさん出てきてとても参考になった。
そして以下の場所にオプションを追加。

※jdkの参照先は各々で変更してください。

ちなみに、eclipseだとWindows環境での情報が多いので、「〜/java」ではなく「〜/javaw」の指定ばかり見かけました。
2つの違いは、実行時にコンソールなどの画面起動するかどうかです。
javaは起動するし、javawは起動しません。

しかしjavawはWindowsにしかないので、Macユーザはjavaでいいのです。
iniファイルにオプションを追加し再び起動すると、無事成功。

以上です。ここまで読んでいただきありがとうございました。

Pocket

コメントを残す

メールアドレスが公開されることはありません。