Android Device Monitor not opening

匿名 (未验证) 提交于 2019-12-03 01:06:02

问题:

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!

回答1:

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.



回答2:

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



回答3:

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)



回答4:

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.



回答5:

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> 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!