LoginSignup
3
3

More than 5 years have passed since last update.

Java9を入れてしまった時にAndroid device monitorを使用する方法

Last updated at Posted at 2018-03-14

Android開発している時に繋いでいる実機のログを見るためのAndroid device monitorですが、Java9を入れてしまった場合起動時にエラーが出るようになってしまい、使えなくなってしまいます。その時の対処法です

症状

ADMを使おうとするとエラーダイアログが発生しログを見ろと言われるのでログを見ると

java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1438)

のような例外が記録されている

原因

すべてJava9のJigSawのせい

解決策

monitorのInfo.plist を編集して、java8を使うように修正すればOKです。
下のように、Info.plistのEclipseのKeyにJava8のパスを設定してあげればOKです。
コメントも書かれているので、ファイルを開けばわかると思います。

/Users/{username}/Library/Android/sdk/tools/lib/monitor.app/Contents/Info.plist
    <key>Eclipse</key>
        <array>
            <!-- この辺にコメントが書かれています -->
            <string>-vm</string><string>/Applications/Android\ 
Studio.app/Contents/jre/jdk/Contents/Home/bin/java</string>
    ...
       </array>

※PathはOSによって変わる可能性があります。
※--add-modulesを追加する方法もあるとは思いますが、みつけられませんでした

参考(というか自分が回答していますが)

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3