2013-07-02 4 views
30

Wenn ich ein Windows-Konto wie "Benutzer" verwende, kann das DDMS von Android Studio gestartet werden.Android DDMS (Monitor) startet nicht, wenn Benutzerprofil ein Leerzeichen darin enthält

Wenn ich ein Windows-Konto verwenden, die einen Raum wie "Test User" enthält, schlägt die DDMS zu starten:

enter image description here

Das Protokoll zeigt die folgenden:

!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) 

Es funktioniert nicht für 32 oder 64-Bit-SDK-Versionen und es bricht nicht, weil "Android-Tools in einem Verzeichnis mit Leerzeichen im Pfad installiert nicht ordnungsgemäß funktionieren" (sie auf einem "Benutzer" -Konto)

Hat jemand dieses Problem gelöst?

+1

AFAIK, ist das gehen Rat der SDK-Tools in einer Stelle zu bringen, wo der Weg dahin ein Leerzeichen nicht enthalten, wie 'C:. \ sdk \' – CatShoes

+0

ich schon versucht, diese bevor. Das Problem es nicht mit dem Speicherort des SDK, aber der Platz in% Benutzerprofil% – AFD

+0

Das ist nur eine kleine Variation desselben Problems - es handelt sich immer noch um einen Pfad, der ein Leerzeichen nur für eine Datendatei und nicht für die ausführbaren Dateien selbst enthält. –

Antwort

78

Ich bin gerade auch auf dieses Problem gestoßen. Meine Abhilfe bestand darin, eine symbolische Verzeichnisverknüpfung von "Test% 20User" zu "Test User" zu erstellen.

  1. Öffnen Sie eine Eingabeaufforderung als Administrator. (Shift + Strg + (Eingabe oder Klick) auf das Symbol dies tun wird)
  2. cd C: \ Benutzer
  3. mklink/d "Test% 20User" "Test User"
  4. Einführung monitor.bat und es sollte funktionieren .
+1

Danke! Habe meinen Tag gerettet! – mFeinstein

+0

Tolles Workaround, danke. –

+0

Danke !!! Es hat für mich funktioniert. – Herman

27

Ich hatte den gleichen Fehler.

Einführung Android Studio mit administrativen Berechtigungen

Es ist für mich gearbeitet.

+2

Entschuldigung, aber ich möchte es nicht mit erhöhten Rechten ausführen. – AFD

+1

Diese Lösung funktioniert auch für Xamarin Studio –

+0

Diese Lösung funktionierte für mich, die symbolische Link-Lösung hat mein Problem nicht gelöst. – Burke9077

7

ich gleiches Problem bekam, fest ich es von Android Studio als Administrator ausgeführt wird,

sonst können Sie es manuell ausgeführt werden, wenn erforderlich.

+0

Das hat für mich funktioniert! Vielen Dank. –

0

löste ich das Problem mit dem "Benutzer" Volle Kontrolle über das Verzeichnis geben

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

(Raum in Benutzernamen% 20 ... => umgewandelt wird für mich "Hans Naert" wird „hans% 20naert)

screencapture of securitysettings enter image description here