web-dev-qa-db-fra.com

Android DDMS (Monitor) ne démarre pas si le profil de l'utilisateur contient un espace.

Si j'utilise un compte Windows tel que "Utilisateur", le DDMS peut être démarré à partir d'Android Studio.

Si j'utilise un compte Windows contenant un espace tel que "Test User", le DDMS ne parvient pas à se lancer:

enter image description here

Le journal montre ce qui suit:

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

Il ne fonctionne pas pour les versions de SDK 32 ou 64 bits et il ne tombe pas en panne car "les outils Android installés dans un répertoire avec des espaces dans le chemin ne fonctionnent pas correctement" (ils fonctionnent sur un compte "Utilisateur").

Quelqu'un at-il résolu ce problème?

30
AFD

Je viens de rencontrer ce problème aussi. Ma solution de contournement consistait à créer un lien de répertoire symbolique de "Test% 20User" à "Test User".

  1. Ouvrez une invite de commande en tant qu'administrateur. (Maj + Ctrl + (entrer ou cliquer) sur l'icône fera ceci)
  2. cd C:\Utilisateurs
  3. mklink/d "Test% 20User" "Test User"
  4. Lancez monitor.bat et cela devrait fonctionner.
78
dan

J'ai eu la même erreur.

Lancez Android Studio avec autorisations administratives

Cela a fonctionné pour moi.

27
ymerdrengene

J'ai eu le même problème, je l'ai corrigé en exécutant le studio Android en tant qu'administrateur,

sinon, vous pouvez l'exécuter manuellement si nécessaire.

7
Harsha

J'ai résolu le problème en donnant aux "utilisateurs" un contrôle total sur le répertoire 

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

(l'espace dans le nom d'utilisateur est converti en% 20 ... => pour moi "Hans Naert" devient "hans% 20naert)

capture d'écran de securitysettings enter image description here

0
H.Naert

Exécutez votre invite de commande ou Android Studio avec les privilèges d'administration fournis, puis démarrez Android Device Monitor.

0
asadnwfp