无法在 Android Studio 中打开 DDMS。神秘的 Eclipse 错误弹出

Unable to open DDMS in Android Studio. Mysterious Eclipse error pops up

所以我又遇到了另一个 Android Studio 工具错误。我不认为这个以前被报道过,我找不到关于它的任何帖子。

我正在尝试通过单击以下按钮在 Android Studio 中打开设备监视器 (DDMS):

每次我都遇到同样的错误。令人费解的是,它是一个Eclipse错误,如图:

所以它告诉我在 Android Studio SDK 文件夹中打开一个日志文件。日志文件包含大量文本,但主要错误报告为:

!ENTRY org.eclipse.osgi 4 0 2015-05-27 09:40:53.091
!MESSAGE Application error
!STACK 1
java.io.IOException: The folder "C:\Users\JOHN%20SMITH\.android\monitor-workspace\.metadata" is read-only.
at org.eclipse.core.runtime.internal.adaptor.BasicLocation.lock(BasicLocation.java:206)
at org.eclipse.core.runtime.internal.adaptor.BasicLocation.set(BasicLocation.java:164)
at org.eclipse.core.runtime.internal.adaptor.BasicLocation.set(BasicLocation.java:137)
at com.android.ide.eclipse.monitor.MonitorApplication.start(MonitorApplication.java:53)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
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)

为什么我无法从 Android Studio 打开 DDMS,为什么在尝试从 Android Studio 打开 DDMS 时抛出 Eclipse 错误?谁能指导我?有没有人甚至 见过 这个错误?所有回复将不胜感激。

编辑:

正如 Daniel Nugent 在下面的评论中所指出的,Studio 附带的 DDMS 似乎与 Eclipse 中的 完全 完全相同。想知道这是否是问题的线索。作为记录,我确实在我的 PC 上安装了 Eclipse 以维护一些遗留代码。

编辑 2:

解决方案是here. Many, many thanks to Skizo and Blackbelt,你们都说对了!

我觉得问题出在你名字里的%20,那你可以试试这个answer,好像是你的:

I've just come across this problem too. My workaround was to create a symbolic >directory link from "Test%20User" to "Test User".

  1. Open a command prompt as administrator. (shift+ctrl+(enter or click) on the >icon will do this)
  2. cd C:\Users
  3. mklink /d "Test%20User" "Test User"
  4. Launch monitor.bat and it should work.

您必须 运行 具有管理员权限的应用程序 (android Studio)