Android设备监视器无法打开

时间:2017-10-05 03:57:05

标签: java android eclipse

我无法运行Android Monitor。我正在使用Android Studio。不是Eclipse。

  • 当我尝试使用sudo ./monitor在终端中打开它时,我看到以下警告,然后显示
  

警告:发生了非法的反射访问操作警告:   非法反射访问   org.eclipse.osgi.internal.baseadaptor.BaseStorage   (文件:/Users/kidus11/Library/Android/sdk/tools/lib/monitor-x86_64/plugins/org.eclipse.osgi_3.8.2.v20130124-134944.jar)   方法java.net.URLClassLoader.addURL(java.net.URL)警告:请   考虑向维护人员报告   org.eclipse.osgi.internal.baseadaptor.BaseStorage警告:使用   --illegal-access =警告以启用进一步非法反射访问操作的警告警告:所有非法访问操作都将是   在将来的版本中被拒绝

  • 我有Java版本9,还有Javac 9
  • 我安装了最新版本的JDK或JRE

以下是我每次尝试打开Android设备监视器时看到的标记

  

!ENTRY org.eclipse.osgi 4 0 2017-10-04 20:18:12.531!MESSAGE   应用程序错误!STACK 1 java.lang.IllegalStateException:无法执行   获得应用服务。确保org.eclipse.core.runtime   bundle已解析并启动(请参阅config.ini)。在   org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74)     在   org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)     在   org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)     在   java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(母语   方法)at   java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     在   java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     在java.base / java.lang.reflect.Method.invoke(Method.java:564)at   org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)at at   org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)at at   org.eclipse.equinox.launcher.Main.run(Main.java:1438)

任何帮助将不胜感激!

5 个答案:

答案 0 :(得分:9)

Android Studio尚不支持Java 9。 安装JDK 8并更新您的工作室配置,将jre指向8。

然后确保您还没有将JAVA_HOME设置为9。 最后,确保你的机器上的某个地方没有运行eclipse,而且已经拥有了ADB的所有权。

答案 1 :(得分:5)

最新的Android Studio Bundle附带了自己的JRE(在<ANDROID_STUDIO>/jre下,这是推荐使用的JRE(查看文件/项目结构/ SDK位置)。

同样,一个简单的选择是在监视工具下创建一个符号链接,以使JRE与Android Studio保持一致甚至获得更新。

对于MAC或Linux:

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

32位:

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

然后ddms监视器适用于两种方式:从Studio IDE(工具/ Android / ADM)或命令行(<SDK>tools/./monitor

答案 2 :(得分:5)

是的,最新的Android Studio Bundle附带了自己的JRE(C:\Program Files\Android\Android Studio\jre下)。

因此,您只需复制此jre文件夹并将其粘贴到此处: C:\Users\<Username>\AppData\Local\Android\Sdk\tools\lib\monitor-x86_64

现在在android studio中转到Tools - &gt; Android - &gt; Android设备监视器。

或者您可以选择此链接Resolve Android Device Monitor issue

答案 3 :(得分:2)

不确定Android Device Monitor的用例是什么,但显然是自Android Studio 3.0以来。不推荐使用Android设备监视器的大多数组件:

Response

还可以使用其他工具,例如Android Profiler ......

所以也许没有必要尝试解决这个问题。

答案 4 :(得分:1)

您可以在监视器二进制目录中修改Info.plist文件。

MEDIA_ROOT

将捆绑的java路径的-vm键添加到Path example in Mac: /Users/{username}/Library/Android/sdk/tools/lib/monitor.app/Contents/Info.plist 。(有一条评论。你看了。)

<key>Eclipse</key><array>