491 Stimmen

Wie starte ich den Android-Emulator über die Befehlszeile?

Ich arbeite auf dem Mac an der Android-Entwicklung über das Terminal. Ich habe erfolgreich die HalloWelt Projekt und jetzt versuche ich, es von der Kommandozeile im Android-Emulator auszuführen. Welcher Befehl führt den Emulator für mein HelloWorld-Projekt aus?

Ich habe bereits die Android-Tools und Plattform-Tools in meinem PATH.

Edit :

Wie sage ich dem Emulator, dass er mein HelloWorld-Projekt über die Befehlszeile ausführen soll? Ich habe das Projekt bereits mit Ant erstellt.

0 Stimmen

Relevante Dokumente: Erstellen mit avdmanager und starten mit emulator .

412voto

Malcolm Punkte 39950

Ich gehe davon aus, dass Sie Ihr Projekt erstellt haben und es nur noch starten müssen, aber Sie haben keine AVDs erstellt und müssen die Befehlszeile für alle Aktionen verwenden. Sie müssen das Folgende tun.

  1. Erstellen Sie ein neues virtuelles Gerät (AVD) für die von Ihnen benötigte Plattform. Wenn Sie für die Erstellung Ihres AVD die Kommandozeile verwenden müssen, können Sie android create avd -n <name> -t <targetID> wobei targetID die benötigte API-Stufe ist. Wenn Sie GUI verwenden können, geben Sie einfach ein android avd und es wird der Manager gestartet, wo Sie dasselbe tun können. Sie können mehr lesen über AVD-Verwaltung über GUI y über die Befehlszeile .
  2. Führen Sie die AVD entweder mit dem Befehl emulator -avd <name> oder über die zuvor gestartete GUI. Warten Sie, bis der Emulator vollständig geladen ist, das dauert einige Zeit. Sie können lesen über zusätzliche Optionen hier .
  3. Nun müssen Sie die Anwendung auf Ihrem AVD installieren. Normalerweise verwenden Sie während der Entwicklung dasselbe Ant-Skript, das Sie zum Erstellen des Projekts verwendet haben, wählen Sie einfach install Ziel. Sie können die Anwendung jedoch auch manuell installieren, indem Sie den Befehl adb install <path-to-your-APK> .
  4. Wechseln Sie nun zum Emulator und starten Sie Ihre Anwendung wie auf einem normalen Gerät über den Launcher. Alternativ können Sie auch den folgenden Befehl verwenden: adb shell am start -a android.intent.action.MAIN -n <package>/<activity class> . Zum Beispiel: adb shell am start -a android.intent.action.MAIN -n org.sample.helloworld/org.sample.helloworld.HelloWorld . Wie ein Kommentator vorschlug, können Sie auch Folgendes ersetzen org.sample.helloworld.HelloWorld in der obigen Zeile mit nur .HelloWorld und es wird auch funktionieren.

410voto

azibi Punkte 3679

Listen Sie alle Ihre Emulatoren auf:

emulator -list-avds

Führen Sie einen der aufgeführten Emulatoren mit -avd Flagge:

emulator -avd name-of-your-emulator

wo die emulator ausführbare Datei ist unter:

${ANDROID_SDK}/tools/emulator

Für neuere SDKs können Sie es auch versuchen:

cd ${ANDROID_HOME}/emulator
emulator -avd name-of-your-emulator

194voto

Ali Sao Punkte 1559

Ich denke, der beste Weg, um es über das Terminal zu erreichen, ist :

cd ~/Library/Android/sdk/emulator

Oder für Windows :

cd %userProfile%\AppData\Local\Android\sdk\emulator

Um eine bestimmte AVD direkt auszuführen:

./emulator -avd {AVD_NAME}

Um Ihre AVDs aufzulisten, verwenden Sie :

./emulator -list-avds

30voto

ABDroids Punkte 3185

Nur um hier hinzuzufügen, wenn Sie "Fehler: Gerät offline" bedeutet, dass die Verbindung mit Emulator & adb-Brücke wurde aufgrund der Zeit in Emulator-Start genommen unterbrochen.

Anstatt den Emulator an dieser Stelle neu zu starten, versuchen Sie die beiden folgenden Befehle, die die adb-Bridge anhalten und neu starten.

adb kill-server

adb start-server

29voto

germangti Punkte 938

Hier können Sie die Optionen für die Ausführung dieses Befehls über die Befehlszeile überprüfen:

emulator -avd avd_name [-option [value]] ... [-qemu args]

Ich verwende sie zum Beispiel wie folgt:

emulator -avd ICS_ARM -wipe-data -no-boot-anim -cpu-delay 0

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X