Java Android设备监视器未打开

Java Android设备监视器未打开,java,android,eclipse,Java,Android,Eclipse,我无法运行Android监视器。我正在使用Android Studio。不是日食 当我尝试使用sudo./monitor在终端中打开它时,我看到以下警告,然后显示 警告:发生非法的反射访问操作警告: 非法反射访问 org.eclipse.osgi.internal.baseadaptor.BaseStorage (文件:/Users/kidus11/Library/Android/sdk/tools/lib/monitor-x86_64/plugins/org.eclipse.osgi_3.

我无法运行Android监视器。我正在使用Android Studio。不是日食

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

  • 我有JavaVersion9,也有JavaC9
  • 我已经安装了最新版本的JDK或JRE
这是我每次尝试打开Android设备监视器时看到的标签

!!条目org.eclipse.osgi 4 0 2017-10-04 20:18:12.531!消息 应用程序错误!堆栈1 java.lang.IllegalStateException:无法 获取应用程序服务。确保org.eclipse.core.runtime bundle已解析并启动(请参阅config.ini)。在 org.eclipse.core.runtime.internal.adapter.eclipseeappluncher.start(eclipseeappluncher.java:74) 在 org.eclipse.core.runtime.adapter.EclipseStarter.run(EclipseStarter.java:353) 在 org.eclipse.core.runtime.adapter.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.invoke(Method.java:564) org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)位于 org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)位于 org.eclipse.equinox.launcher.Main.run(Main.java:1438)


任何帮助都将不胜感激

Android Studio还不支持Java 9。 安装JDK 8并更新studio配置以指向jre for 8

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

最新的Android Studio捆绑包附带了自己的JRE(在
/JRE
下),这是推荐使用的JRE(查看文件/项目结构/SDK位置)

类似地,一个简单的选项是在monitor工具下创建一个符号链接,以使JRE与AndroidStudio保持一致,即使获得更新

对于MAC或Linux:

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

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

然后,ddms监视器以两种方式工作:从Studio IDE(Tools/Android/ADM)或命令行(
Tools//monitor

不确定Android设备监视器的用例是什么,但显然是从Android Studio 3.0开始。Android设备监视器的大多数组件都已弃用:

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


因此,也许没有必要尝试解决这个问题。

是的,最新的Android Studio捆绑包附带了自己的JRE(在
C:\Program Files\Android\Android Studio\JRE
下)

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

现在在android studio中,进入工具->android->android设备监视器


或者,如果您修改监视器二进制目录中的Info.plist文件,您可以选择此链接

Path example in Mac: 
/Users/{username}/Library/Android/sdk/tools/lib/monitor.app/Contents/Info.plist
将捆绑java路径的-vm键添加到
Eclipse
(这里有一条注释,您可以阅读。)

-虚拟机密钥示例
-虚拟机/应用程序/安卓系统
Studio.app/Contents/jre/jdk/Contents/Home/bin/java

我正在使用android studio…您可以在下面看到我的答案,这对我来说很有用。我如何更新studio配置以指向8的jre?如何确保我没有将JAVA_HOME设置为9?提前谢谢!项目结构-->SDK位置环境变量JAVA_HOME在您的~/.bash_配置文件中(如果在mac或linux上)否则,它在windows属性环境变量中。您将JAVA_HOME设置为JAVA安装的JRE路径。我尝试了您的建议。但错误仍然存在。再次,我必须重新安装android studio以修复错误。好吧,那么您现在指的是JRE 8吗?不确定为什么新安装会起作用,除非您点击clicked custom第一次安装并奇怪地指出了它,我无法想象你会这么做。这项工作对我来说是专门安装了Java 9。**谢谢**,在成千上万的答案中这是唯一有效的(只安装了Java 9)。简单快速。谢谢!我的问题解决了。谢谢。这是我在Mojave上唯一有效的方法。通过brew安装Java 8。然后添加了
-vm/Library/Java/JavaVirtualMachines/jdk1.8.0172.jdk/Contents/Home/bin
抱歉,最好使用
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/Java
在8上,gui启动,但冻结
-vm key example

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