Home » Android » java – Android Device Monitor not opening

java – Android Device Monitor not opening

Posted by: admin June 15, 2020 Leave a comment

Questions:

I am unable to run Android Monitor. I am using Android Studio. Not Eclipse.

  • When I attempt to open it in the terminal using sudo ./monitor, I see the following warning, then it shows

WARNING: An illegal reflective access operation has occurred WARNING:
Illegal reflective access by
org.eclipse.osgi.internal.baseadaptor.BaseStorage
(file:/Users/kidus11/Library/Android/sdk/tools/lib/monitor-x86_64/plugins/org.eclipse.osgi_3.8.2.v20130124-134944.jar)
to method java.net.URLClassLoader.addURL(java.net.URL) WARNING: Please
consider reporting this to the maintainers of
org.eclipse.osgi.internal.baseadaptor.BaseStorage WARNING: Use
–illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be
denied in a future release

  • I have Java version 9, as well has Javac 9
  • I have installed the latest version of JDK or JRE

Here is the tag I see every time I try to open Android Device Monitor

!ENTRY org.eclipse.osgi 4 0 2017-10-04 20:18:12.531 !MESSAGE
Application error !STACK 1 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)

Any help would be greatly appreciated!

How to&Answers:

Android Studio does not support Java 9 yet.
Install JDK 8 and update your studio configurations to point the jre for 8.

Then ensure that you are not setting your JAVA_HOME to 9 yet either.
Lastly, make sure you eclipse is not running somewhere on your machine taking ownership of the ADB already.

Answer:

Newest Android Studio Bundle comes with its own JRE (under <ANDROID_STUDIO>/jre and this is the recommended JRE to work with (look at File / Project Structure / SDK Location).

Likewise, a simple option is to create a symbolic link under the monitor tools to keep JRE in line with Android Studio even getting an update.

For MAC or Linux:

#ln -s <ANDROID_STUDIO>/jre <SDK>/tools/lib/monitor-x86_64/jre

32 bits:

#ln -s <ANDROID_STUDIO>/jre <SDK>/tools/lib/monitor-x86/jre

Then the ddms monitor works for both ways: from Studio IDE (Tools / Android / ADM) or command line (<SDK>tools/./monitor)

Answer:

Yes, The Newest Android Studio Bundle comes with its own JRE (under C:\Program Files\Android\Android Studio\jre).

So, You can just copy this jre folder and paste it to here:
C:\Users\<Username>\AppData\Local\Android\Sdk\tools\lib\monitor-x86_64

And now in android studio go to the Tools -> Android -> Android Device Monitor.

Or you can prefer this link Resolve Android Device Monitor issue

Answer:

You modify Info.plist file in monitor binary directory.

Path example in Mac: 
/Users/{username}/Library/Android/sdk/tools/lib/monitor.app/Contents/Info.plist

Add -vm key of bundled java path into <key>Eclipse</key><array>.(There is a comment.You read it.)

-vm key example

<string>-vm</string><string>/Applications/Android\ 
Studio.app/Contents/jre/jdk/Contents/Home/bin/java</string>

Answer:

Not sure what is your use case for Android Device Monitor, but apparently since Android Studio 3.0. most components of the Android Device Monitor are deprecated:

https://developer.android.com/studio/profile/monitor.html

There are other tools that can be used such as Android Profiler…

So maybe it is not really necessary to try to fix this issue.