2017-10-05 66 views
1

我无法运行Android监视器。我正在使用Android Studio。不是Eclipse。Android设备显示器未打开

  • 当我尝试使用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 = warn启用进一步非法反射访问操作的警告警告:所有非法访问操作将被拒绝 在未来的版本

  • 我有Java版本9,以及具有javac的9
  • 我已经安装了最新版本的JDK或JRE的

这里是个Ë标签我看到每次我试图打开时间的Android设备监视器

ENTRY org.eclipse.osgi 4 0 2017年10月4日20:18:!12.531留言 应用程序错误堆栈1周的java.lang。 IllegalStateException:无法通过 获取应用程序服务。确保已解析并启动org.eclipse.core.runtime 软件包(请参阅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在 (母语 方法)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中。调用(Method.java:564)a吨 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)处 org.eclipse.equinox.launcher org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)。 Main.run(Main.java:1438)

任何帮助将不胜感激!

+0

的可能的复制[“无法获取应用服务”的错误,而推出的Eclipse(https://stackoverflow.com/questions/2493415/unable-to-acquire-application -service-error-while-launching-eclipse) – Ironman

+1

我正在使用android studio ... – Begginer

+0

你可以在下面看到我的答案,这对我来说很有用。 –

回答

4

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

然后确保您没有将您的JAVA_HOME设置为9。 最后,确保你的eclipse没有运行在你的机器上已经拥有了ADB的所有权。

+0

如何更新我的演播室配置以指向8的jre?以及如何确保我不将我的JAVA_HOME设置为9?先谢谢你! – Begginer

+0

项目结构 - > SDK位置 – Sam

+0

环境变量JAVA_HOME在您的〜/ .bash_profile中,如果在Mac或Linux上,则它在Windows属性环境变量中。你将JAVA_HOME设置为你的java安装的JRE路径 – Sam

0

最新的Android工作室捆绑有它自己的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中(工具/安卓/ ADM)或(<SDK>tools/./monitor

0

不知道什么是你的使用情况为Android设备监视器,但显然由于Android Studio 3.0。在Android设备监视器的大多数组件弃用:

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

有可用于如Android探查器等工具...

所以也许它是不是真的有必要设法解决这个问题问题。

2

是的,最新的Android Studio套件包含自己的JRE(在C:\Program Files\Android\Android Studio\jre下)。

所以,你可以复制这个文件夹jre并粘贴到这里: C:\Users\<Username>\AppData\Local\Android\Sdk\tools\lib\monitor-x86_64

现在在Android Studio中转到工具 - > Android的 - > Android设备监视器。

或者你可以喜欢这个链接Resolve Android Device Monitor issue

+0

这项工作对我来说完全是Java 9 Installed。**谢谢**, –

+0

@AntonioRodriguez感谢您投票了我的回答:) –

+0

哇在成千上万的答案这是唯一的工作(只有Java 9安装)。方便快捷。谢谢! –