2013-07-02 1 views
30

Если я использую учетную запись Windows, такую ​​как «Пользователь», DDMS можно запустить из Android Studio.Android DDMS (Monitor) не запускается, если в пользовательском профиле содержится пробел

Если я использую учетную запись Windows, который содержит пробел, например, как "Test User", то DDMS не запускается:

enter image description here

Журнал показывает следующее:

!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-инструменты, установленные в каталоге с пробелами в пути, не работают правильно» (они делают это в учетной записи «Пользователь»)

Кто-нибудь решил эту проблему?

+1

AFAIK, идущий совет поставить SDK инструменты в каком-то месте, где путь к нему не включает в себя пространство, такое как 'C:. \ SDK \' – CatShoes

+0

Я попытался это раньше. а не с местоположением SDK, но пространство в% Профиль пользователя% – AFD

+0

Это лишь незначительная вариация одной и той же проблемы - это все еще о пути, который содержит пробел, только для файла данных, а не для самих исполняемых файлов инструмента. –

ответ

78

Я тоже столкнулся с этой проблемой. Мое обходное решение состояло в том, чтобы создать символическую ссылку каталога из «Test% 20User» в «Test User».

  1. Открыть командную строку в виде администратора. (Shift + Ctrl + (введите или выберите) на значок будет делать это)
  2. кд C: \ Users
  3. mklink/d "Test% 20User" "Test User"
  4. Запуск monitor.bat и он должен работать ,
+1

Спасибо! Спас мой день! – mFeinstein

+0

Отличный обход, спасибо. –

+0

Спасибо !!! Это сработало для меня. – Herman

27

У меня была такая же ошибка.

Запуск Android-студия с правами администратора

Он работал для меня.

+2

извините, но не хотите запускать его с повышенными разрешениями. – AFD

+1

Это решение работает и для Xamarin Studio –

+0

Это решение сработало для меня, решение символической ссылки не решило мою проблему. – Burke9077

7

меня такая же проблема, я установил его, запустив Android Studio как администратор,

иначе вы можете запустить его вручную, если требуется.

+0

Это сработало для меня! Спасибо. –

0

Я решил вопрос с давая «Пользователи» Полный контроль в каталоге

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

(пробел в имени пользователя преобразуется в% 20 ... => для меня «Hans Naert» становится «Ханса% 20naert)

screencapture of securitysettings enter image description here