30

如果我使用诸如“用户”之类的 Windows 帐户,则可以从 Android Studio 启动 DDMS。

如果我使用包含“测试用户”等空格的 Windows 帐户,则 DDMS 无法启动:

在此处输入图像描述

日志显示以下内容:

!SESSION 2013-07-02 12:30:07.031 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0_25
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_IE
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.osgi 4 0 2013-07-02 12:30:07.730
!MESSAGE Application error
!STACK 1
java.io.IOException: The folder "C:\Users\Test%20User\.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(Unknown Source)
    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:344)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1410)

它不适用于 32 位或 64 位 SDK 版本,并且不会因为“安装在路径中有空格的目录中的 Android 工具无法正常工作”而中断(它们在“用户”帐户上运行)

有没有人解决过这个问题?

4

5 回答 5

81

我也刚遇到这个问题。我的解决方法是创建一个从“Test%20User”到“Test User”的符号目录链接。

  1. 以管理员身份打开命令提示符。(图标上的 shift+ctrl+(输入或单击)将执行此操作)
  2. cd C:\用户
  3. mklink /d "Test%20User" "测试用户"
  4. 启动 monitor.bat 它应该可以工作。
于 2013-09-18T15:39:10.860 回答
27

我有同样的错误。

使用管理权限启动 Android Studio

它对我有用。

于 2013-10-21T14:26:55.670 回答
7

我遇到了同样的问题,我通过以管理员身份运行 android studio 来解决它,

否则您可以在需要时手动运行它。

于 2014-06-12T10:36:54.140 回答
0

我解决了让“用户”完全控制目录的问题

C:\Users\hans%20naert\\.android\monitor-workspace

(用户名中的空格转换为 %20 ... => 对我来说,“Hans Naert”变成了“hans%20naert)

安全设置的屏幕截图 在此处输入图像描述

于 2015-12-13T09:52:07.430 回答
0

使用提供的管理权限运行命令提示符或 Android Studio,然后启动 Android 设备监视器

于 2018-09-06T10:20:16.213 回答