Emulator Androida nie uruchamia się, wyświetlając „nieprawidłowy parametr wiersza polecenia”

230

Zrobiłem prosty program „Hello World” w Eclipse . Nie dodałem nic do pliku Java i dodałem tylko widok tekstowy w pliku main.xmljako

//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>

A teraz, kiedy uruchamiam mój program, pokazuje on w konsoli następujące informacje.

//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

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

To pokazuje, że moje urządzenie wirtualne z systemem Android (AVD) nie mogło się uruchomić z jakiegoś powodu. Co mogę zrobić, aby rozwiązać ten problem?

Max
źródło

Odpowiedzi:

33
  • Jeśli ścieżka lokalizacji zestawu SDK w środowisku Eclipse jest C:\Program Files (x86)\zmieniana na C:\PROGRA~2\.
  • Jeśli używasz 32-bitowego systemu Windows C:\Program Files\, zmień ścieżkę na C:\PROGRA~1\.

wprowadź opis zdjęcia tutaj

Jorgesys
źródło
317

Obecnie występuje problem z R12, w którym lokalizacja zestawu SDK nie może zawierać spacji.

Domyślna lokalizacja instalacji: C:\Programme Files(x86)\Android\android-sdk. Obecnie rozwiązują problem, ale obecnie można go obejść, zmieniając ścieżkę lokalizacji zestawu SDK w zaćmieniu na C:\PROGRA~2\Android\android-sdk.

Jeśli używasz 32-bitowego systemu Windows, zmień ścieżkę na C:\PROGRA~1\Android\android-sdk.

NickC
źródło
30
Jeśli nie znasz 8-kropkowej-3 nazwy żądanej ścieżki, po prostu uruchom wiersz polecenia i uruchom „DIR / X” ... krótka nazwa będzie wyświetlana obok każdego katalogu.
Jay Mayu
Czy można to naprawić w Eclipse?
Britt Wescott,
Próbowałem tego i nadal nie działa na moim 32-bitowym komputerze z systemem Windows 7. Mój SDK znajduje się w następującej ścieżce D: \ Program Files \ Android \ android-sdk i umieściłem następujące elementy w mojej ścieżce lokalizacji SKD w zaćmieniu, ale bez powodzenia. D: \ PROGRA ~ 1 \ Android \ ANDROI ~ 1
BillyPilgrim
3
Skończyło się na tym, że po prostu skopiowałem katalog android-sdk bezpośrednio do katalogu głównego dysku D i zaktualizowałem ścieżkę SDK w Eclipse, aby odzwierciedlić nową lokalizację. Działa jak urok.
BillyPilgrim,
8
to niedorzeczne, uważam, że 99% ludzi napotyka ten problem podczas próby uruchomienia Androida!
jcvandan
52

Sugeruję utworzenie złącza katalogu o nazwie C:\Android wskazującej na rzeczywiste C:\Program Files (x86)\Android\android-sdk-windows\:

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

a następnie ustawienie nowo utworzonego złącza jako Lokalizacji SDK dla wtyczki Eclipse ADT (menu Eclipse \ Window \ Preference \ Android). Może to pomóc w przypadku wielu narzędzi / wtyczek, które mają problemy ze spacjami w ścieżkach.

superjos
źródło
1
Dobry pomysł. Możesz również utworzyć go jako łącze symboliczne , co jest nowszym sposobem od Windows Vista.
Hosam Aly,
24

NickC ma rację. Warto również zauważyć, że lokalizacja zestawu SDK jest ustawiona w Eclipse> menu Okno> Preferencje> Android. Jeśli twoje foldery są różne, możesz sprawdzić format 8.3 dowolnego folderu z dir foldername / x w wierszu polecenia.

Caltor
źródło
15

Też miałem ten problem. Rozwiązaniem jest (jeśli korzystasz z systemu Windows tak jak ja), aby zmienić ścieżkę doC:\PROGRA~1\Android\android-sdk-windows\ .

Zakładając, że Program Filesjest to pierwszy katalog ze słowem PROGRAM, którym powinien być. To zadziałało.

Scott
źródło
7

Uruchomiłem Menedżera zadań, upewniłem się, że adb.exe jest zamknięty (blokuje niektóre pliki)

Utwórz folder C: \ Android Przeniesiony folder + wszystkie pliki z C: \ Program Files \ android-sdk do C: \ Android

Edytowane skróty C: \ Documents and Settings \ All Users \ Start Menu \ Programs \ Android SDK Tools .

Rozważałem odinstalowanie zestawu SDK i ponowną instalację, ale na całe życie, gdzie przechowuje pliki tymczasowe? I don'tchcesz ponownie pobrać platform, próbek i doco że dodałem do SDK.

RichardTheKiwi
źródło
4

Miałem ten sam problem. Sprawiłem, że działa z:

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

foo to nazwa twojego urządzenia wirtualnego.

Phil Manzano
źródło
podobnie - jak do cholery zrobiłeś tego filipa?
ina
3

Alternatywnie do metody PROGRA ~ 2 (która nie działa na przykład w IntelliJ IDEA ), możesz utworzyć łącze symboliczne .

To może być nazwane, na przykład, prgdo Program Files(uruchamiane mklink /?z wiersza polecenia, aby dowiedzieć się, jak to zrobić). Następnie uruchom emulator jako C:\prg\Android\android-sdk\tools\emulator.exe. Zmień także ścieżkę do SDK / emulatora w swoim IDE .

Dmitrij Osinowski
źródło
1
Zachowaj ostrożność, publikując odpowiedzi na wiele pytań, kopiując i wklejając odpowiedzi na wiele pytań, które zazwyczaj są oznaczane przez społeczność jako „spamerskie”.
Kev
1
@Kev Co z duplikatami pytań? : P
Timothy003
3

Błąd emulatora-arm.exe, nie można uruchomić. Problem polegał na tym, że mój laptop ma 2 karty graficzne i został wybrany tylko jedną (wydajność) z Nvidii 555M. Po wybraniu innej karty graficznej od Nvidia mediu (wybrana podstawowa karta Intel) uruchomiono emulator!

marisxanis
źródło
2

Pamiętaj, aby uruchomić „Android update avd -n avd_name” po zmianie ścieżki Android SDK.

Furia
źródło
-2

To nie działa od aktualizacji Andoid SDK R12. Myślę, że dzieje się tak, ponieważ SDK nie znajduje ścieżki Java SDK. Możesz rozwiązać ten problem, dodając ścieżkę Java SDK do zmiennej środowiskowej PATH.

Apehel
źródło