Der Android-Emulator startet nicht und zeigt "ungültigen Befehlszeilenparameter" an.

230

Ich habe in Eclipse ein einfaches "Hello World" -Programm erstellt . Ich habe einer Java-Datei nichts hinzugefügt und nur eine Textansicht in der Datei main.xmlals hinzugefügt

//main.xml file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Hello World"
    />
</LinearLayout>

Und jetzt, wenn ich mein Programm starte, wird Folgendes in der Konsole angezeigt.

//console output
[2011-07-10 07:10:22 - demo] ------------------------------
[2011-07-10 07:10:22 - demo] Android Launch!
[2011-07-10 07:10:24 - demo] adb is running normally.
[2011-07-10 07:10:24 - demo] Performing com.demo.DemoActivity activity launch
[2011-07-10 07:10:25 - demo] Automatic Target Mode: launching new emulator with compatible AVD 'vishal'
[2011-07-10 07:10:25 - demo] Launching a new emulator with Virtual Device 'vishal'
[2011-07-10 07:11:06 - Emulator] invalid command-line parameter: Files\Android\android-sdk\tools/emulator-arm.exe.
[2011-07-10 07:11:07 - Emulator] Hint: use '@foo' to launch a virtual device named 'foo'.
[2011-07-10 07:11:07 - Emulator] please use -help for more information

//--------------------------------------------------------------------------------/

Dies zeigt, dass mein virtuelles Android-Gerät (AVD) aus irgendeinem Grund nicht gestartet werden konnte. Was kann ich tun, um dieses Problem zu beheben?

Max
quelle

Antworten:

33
  • Wenn sich Ihr SDK-Standortpfad in Eclipse in C:\Program Files (x86)\ändert C:\PROGRA~2\.
  • Wenn Sie 32-Bit-Windows ausführen C:\Program Files\, ändern Sie den Pfad in C:\PROGRA~1\.

Geben Sie hier die Bildbeschreibung ein

Jorgesys
quelle
317

Derzeit gibt es ein Problem mit R12, bei dem der SDK-Speicherort keine Leerzeichen enthalten darf.

Der Standardinstallationsort ist : C:\Programme Files(x86)\Android\android-sdk. Sie beheben derzeit das Problem, aber Sie können es derzeit umgehen, indem Sie den SDK-Speicherortpfad in Eclipse in ändern C:\PROGRA~2\Android\android-sdk.

Wenn Sie 32-Bit-Windows ausführen, ändern Sie den Pfad in C:\PROGRA~1\Android\android-sdk.

NickC
quelle
30
Wenn Sie den 8-Punkt-3-Namen Ihres gewünschten Pfads nicht kennen, starten Sie einfach eine Eingabeaufforderung und führen Sie "DIR / X" aus. Der Kurzname wird neben jedem Verzeichnis angezeigt.
Jay Mayu
Kann dies in Eclipse behoben werden?
Britt Wescott
Ich habe es versucht und es funktioniert immer noch nicht auf meinem 32-Bit-Windows 7-Computer. Mein SDK befindet sich im folgenden Pfad D: \ Programme \ Android \ android-sdk, und ich habe Folgendes in meinen SKD-Speicherortpfad in Eclipse eingefügt, aber ohne Glück. D: \ PROGRA ~ 1 \ Android \ ANDROI ~ 1
BillyPilgrim
3
Am Ende habe ich nur das android-sdk-Verzeichnis direkt in das Stammverzeichnis des Laufwerks D kopiert und den SDK-Pfad in Eclipse aktualisiert, um den neuen Speicherort wiederzugeben. Lief wie am Schnürchen.
BillyPilgrim
8
Das ist lächerlich, ich denke, 99% der Menschen stoßen auf dieses Problem, wenn sie versuchen, mit Android zu beginnen!
JCVANDAN
52

Ich würde vorschlagen, eine Verzeichnisverbindung mit dem Namen C:\Android zu erstellen, die auf das tatsächliche zeigt C:\Program Files (x86)\Android\android-sdk-windows\:

MKLINK /J C:\Android "C:\Program Files (x86)\Android\android-sdk-windows\"

und dann die neu erstellte Junction als SDK-Speicherort für Ihr Eclipse ADT-Plugin festlegen (Eclipse-Menü \ Fenster \ Einstellungen \ Android). Dies kann auch für eine Reihe von Tools / Plugins hilfreich sein, die Probleme mit Leerzeichen in Pfaden haben.

Superjos
quelle
1
Gute Idee. Sie können es auch als symbolischen Link erstellen. Dies ist der neuere Weg seit Windows Vista.
Hosam Aly
24

NickC ist richtig. Es ist auch erwähnenswert, dass der SDK-Speicherort unter Eclipse> Fenstermenü> Einstellungen> Android festgelegt ist. Wenn Ihre Ordner unterschiedlich sind, können Sie das 8.3-Format eines beliebigen Ordners mit dir Ordnername / x an der Eingabeaufforderung überprüfen .

Caltor
quelle
15

Ich hatte auch dieses Problem. Die Lösung besteht darin (wenn Sie wie ich unter Windows sind), den Pfad zu zu ändern C:\PROGRA~1\Android\android-sdk-windows\.

Angenommen, es Program Filesist das erste Verzeichnis mit dem Wort PROGRAM, das es sein sollte. Das hat funktioniert.

Scott
quelle
7

Ich habe den Task-Manager gestartet und sichergestellt, dass adb.exe geschlossen ist (einige Dateien werden gesperrt).

Erstellen Sie den Ordner C: \ Android Verschobener Ordner + alle Dateien von C: \ Programme \ android-sdk nach C: \ Android

Bearbeitet C: \ Dokumente und Einstellungen \ Alle Benutzer \ Startmenü \ Programme \ Verknüpfungen zu Android SDK-Tools .

Ich habe überlegt, das SDK zu deinstallieren und neu zu installieren, aber wo werden die temporären Dateien für mein ganzes Leben gespeichert? Ich don'tmöchte die Plattformen, Beispiele und Dokumente, die ich dem SDK hinzugefügt habe, erneut herunterladen.

RichardTheKiwi
quelle
4

Ich hatte das gleiche Problem. Ich habe es geschafft mit:

"C:\Program Files (x86)\Android\android-sdk\tools\emulator-arm.exe"  @foo

foo ist der Name Ihres virtuellen Geräts.

Phil Manzano
quelle
Ebenso - wie zum Teufel hast du das gemacht?
Ina
3

Alternativ zur PROGRA ~ 2-Methode (die beispielsweise in IntelliJ IDEA nicht funktioniert ) können Sie eine symbolische Verknüpfung erstellen .

Es kann beispielsweise genannt werden, prgzu Program Files(laufen mklink /?von der Kommandozeile zu lernen , wie man es tun). Führen Sie dann den Emulator als aus C:\prg\Android\android-sdk\tools\emulator.exe. Ändern Sie auch den Pfad zu SDK / Emulator in Ihrer IDE .

Dmitry Osinovskiy
quelle
1
Seien Sie vorsichtig, wenn Sie Antworten auf mehrere Fragen kopieren und einfügen. Diese werden von der Community in der Regel als "Spam" gekennzeichnet.
Kev
1
@ Kevin Was ist mit doppelten Fragen? : P
Timothy003
3

emulator-arm.exe Fehler, konnte nicht ausgeführt werden. Problem war, dass mein Laptop 2 Grafikkarten hat und nur eine (die Performance-Karte) von Nvidia 555M ausgewählt wurde. Durch Auswahl der anderen Grafikkarte von Nvidia mediu (ausgewählte Basis-Intel-Karte) wurde der Emulator gestartet!

Marisxanis
quelle
2

Denken Sie daran, "android update avd -n avd_name" nach Änderung des Android SDK-Pfads auszuführen.

Wut
quelle
-2

Dies funktioniert seit dem Update des Andoid SDK R12 nicht mehr. Ich denke, das liegt daran, dass SDK den Java SDK-Pfad nicht findet. Sie können dies lösen, indem Sie den Java SDK-Pfad in Ihre PATH-Umgebungsvariable einfügen.

Apehel
quelle