web-dev-qa-db-ger.com

Wie starte ich den Android-Emulator von der Befehlszeile aus?

Ich bin auf dem Mac und arbeite an der Android-Entwicklung vom Terminal aus. Ich habe das Projekt HelloWorld erfolgreich erstellt und jetzt versuche ich es über die Befehlszeile im Android-Emulator auszuführen. Mit welchem ​​Befehl wird der Emulator für mein HelloWorld-Projekt ausgeführt?

Ich habe bereits Android-Tools und Plattform-Tools in meinem PFAD.

Bearbeiten:

Wie kann ich dem Emulator mitteilen, dass er mein HelloWorld-Projekt von der Befehlszeile aus ausführen soll? Ich habe das Projekt bereits mit Ant gebaut.

313
Thierry Lam

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

  1. Erstellen Sie ein neues virtuelles Gerät (AVD) für die Plattform, die Sie benötigen. Wenn Sie zum Erstellen Ihrer AVD eine Befehlszeile verwenden müssen, können Sie Android create avd -n <name> -t <targetID> aufrufen, wobei targetID die API-Ebene ist, die Sie benötigen. Wenn Sie die GUI verwenden können, geben Sie einfach Android avd ein und der Manager wird gestartet, wo Sie dasselbe tun können. Weitere Informationen zur AVD-Verwaltung finden Sie über die GUI und über die Befehlszeile .
  2. Führen Sie die AVD entweder mit dem Befehl emulator -avd <name> oder über eine zuvor gestartete GUI aus. Warten Sie, bis der Emulator vollständig geladen ist. Es dauert einige Zeit. Über zusätzliche Optionen können Sie hier nachlesen.
  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 target aus. Sie können die Anwendung jedoch manuell mit dem Befehl adb install <path-to-your-APK> installieren.
  4. Wechseln Sie jetzt zum Emulator und starten Sie Ihre Anwendung wie auf einem normalen Gerät über den Launcher. Alternativ können Sie 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. Als Kommentator vorgeschlagen, können Sie auch org.sample.helloworld.HelloWorld in der obigen Zeile durch nur .HelloWorld ersetzen. Dies funktioniert auch.
337
Malcolm

Listen Sie alle Ihre Emulatoren auf:

emulator -list-avds

Führen Sie einen der aufgeführten Emulatoren aus:

emulator @name-of-your-emulator

wo emulator unter:

${Android_SDK}/tools/emulator
203
azibi

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

cd ~/Library/Android/sdk/tools

So führen Sie eine bestimmte AVD direkt aus:

./emulator -avd {AVD_NAME}

Um Ihre AVDs aufzulisten, verwenden Sie:

./emulator -list-avds
67
Ali Sao

Einfach hier hinzuzufügen, wenn Sie "Fehler: Gerät offline" erhalten, bedeutet dies, dass die Verbindung mit Emulator & Adb Bridge aufgrund der beim Emulatorstart erforderlichen Zeit unterbrochen wurde. 

Anstatt den Emulator an dieser Stelle neu zu starten, versuchen Sie es mit zwei Befehlen, die adb bridge stoppen und erneut starten.

adb-Kill-Server

adb Start-Server

25
ABDroids

Hier können Sie die Optionen zum Ausführen dieses Befehls über die Befehlszeile überprüfen:

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

Zum Beispiel verwende ich es wie folgt: 

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

cMD öffnen

  1. Eingabeaufforderung öffnen
  2. geben Sie den Pfad des Emulators in meinem Fall ein

C:\adt-bundle-windows-x86_64-20140702\sdk\tools  enter image description here

  1. schreibe in meinem Fall "emulator -avd emulatorname" 

emulator -avd AdilVD

 enter image description here

12
Adiii

Wenn Sie streng versuchen, den Emulator von der Befehlszeile aus auszuführen, versuchen Sie es unter OSX.

"/Applications/Android Studio.app/sdk/tools/emulator" -avd <NAMEOFDEVICE> -netspeed full -netdelay none

Sie können es vereinfachen, indem Sie dem .bash_profile einen Alias ​​hinzufügen und ihn an einen Hintergrundjob senden.

alias Android='/Applications/Android\ Studio.app/sdk/tools/emulator <NAMEOFDEVICE> -netspeed full -netdelay none &'

Informieren Sie Bash über die Änderungen.

source ~/.bash_profile
9
Rick

Öffnen Sie die Eingabeaufforderung und gehen Sie zu <Android-Home>\sdk\tools>emulator -avd <AVD_NAME>.

Hier ist "emulator" der Befehl zum Öffnen Ihres Android Virtual Device .

7
Chandra Shekhar

(Linux) In Ihrem Terminal Copy & Paste und Ändern der drei Felder in blau

/home/YouUser/Folder/adt-bundle-linux-x86_64-20140702/sdk/tools/emulator64-x86 -avd Android5.1.1

YouUser = user of session in linux
Folder = path of folfer
Android5.1.1 = You version of Android in the emulator,for example (Android4.4.2)

Sie können die Emulatoren in Ihrem Ordner home anzeigencd /home/Youuser/.Android/avd/

4
David Hackro

Der Befehl Android create avd ist veraltet. Es wird jetzt empfohlen, avdmanager zu verwenden, um Emulatoren über die Befehlszeile zu starten.

Erstellen Sie zuerst einen neuen Emulator, falls noch keiner vorhanden ist:

avdmanager create avd --name "MyEmulator" -k "system-images;Android-
26;google_apis;x86"

Dies setzt voraus, dass Sie bereits ein X86-System-Image installiert haben, das der API 26 entspricht, und dass die Google-APIs installiert sind.

Sie können den Emulator dann mit emulator @MyEmulator starten.

4
fractalwrench

Heutzutage haben Sie in meinem Fall Android Studio (2.2) und nur 1 Emulator installiert

export Android_SDK_ROOT=~/Library/Android/sdk/ && emulator '@'`emulator -list-avds`

Wenn Sie dies häufig tun, machen Sie es einfacher:

$ echo 'export Android_SDK_ROOT=~/Library/Android/sdk/' >> ~/.profile

Fügen Sie einen Alias ​​zu ~.aliases hinzu.

alias androidup="emulator '@'`emulator -list-avds`" 

Rufen Sie source ~/.profile ~/.aliases ab, bevor Sie es testen

Nächstes Mal nur $ androidup

3
Jaime Agudo

Wenn Sie über Git Bash verfügen, können Sie Ihren Emulator mit einem Doppelklick öffnen, mit einigen Ersteinstellungen (nur in Windows 10 getestet) :

  1. Öffnen Sie Git Bash.
  2. cd ~/AppData/Local/Android/sdk/emulator ausführen
  3. Führen Sie ./emulator -list-avds aus und notieren Sie sich den Namen des Emulators. MY_EMULATOR zum Beispiel.
  4. Öffnen Sie den Editor und fügen Sie diese beiden Zeilen hinzu (fügen Sie den Namen Ihres Emulators anstelle von MY_EMULATOR ein):

    cd ~/AppData/Local/Android/sdk/emulator; ./emulator -avd MY_EMULATOR

  5. Speichern Sie die Datei an einem beliebigen Ort als myfile. sh . Sie können "myfile" nach Belieben ändern, aber die Erweiterung .sh wird benötigt. 

  6. Öffnen Sie Git Bash in dem Verzeichnis, in dem Sie myfile.sh gespeichert haben, und führen Sie chmod +x myfile.sh aus. Vergessen Sie nicht, den Namen Ihrer Datei anstelle von myfile einzugeben.

Und das ist es! Von jetzt an müssen Sie jedes Mal, wenn Sie den Emulator starten müssen, Ihre myfile.sh suchen, darauf doppelklicken und warten, bis Ihr Android-Emulator startet.

2
romin21

avd name liste auf 

.Android/avd

/ SDK_PATH/tools/emulator -netdelay none -netspeed full -avd "AVD_NAME"

2
rinkesh

Auf einem Mac (und Linux, denke ich), können Sie, nachdem Sie Ihre AVD erstellt haben, einen Alias ​​eingeben: alias run-Android='~/Library/Android/sdk/tools/emulator -avd ${YOUR_AVD_NAME} &' 

Hinweis : Die Ausführung des Alias ​​wird Ihr Terminal nicht sperren. Wenn Sie dies wünschen, entfernen Sie einfach das letzte '&'

Führen Sie emulator aus, und es wird ein Fehler angezeigt, da er erwartet, dass Sie in Ihrer aktuellen Position Folgendes haben: /emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64', um den Emulator zu starten.

1
Frismaury

In Windows verwende ich dieses PowerShell-Skript, um es zu starten.

$em = $env:USERPROFILE+"\AppData\Local\Android\sdk\tools\emulator.exe"; 
Start-Process $em " -avd Nexus_5X_API_24" -WindowStyle Hidden;
0
Andy Li

Starten des Emulators von der Befehlszeile aus mit der dns-Hilfe

Speicherort des Emulatorprogramms:/Benutzer/{{Benutzername}}/Library/Android/sdk/tools

  1. Überprüfen Sie das vorhandene avd: - Emulator -list-avds

  2. Starten Sie den Emulator mit dns set/Users/{{UserName}}/Library/Android/sdk/tools/emulator -avd

0
dayanand

Ich habe dieses einfache Shell-Skript mit Zenity geschrieben, mit dem Sie auswählen können, welches AVD Sie ausführen möchten. Wenn Sie nicht Android_HOME definiert haben, können Sie dies einfach durch den vollständigen Pfad zum Emulator ersetzen. Dies ist mit select anstelle von Zenity auch einfach zu tun, aber ich habe mich für Zenity entschieden, da ich es von der xfce-application menu (über eine .desktop-Datei).

#!/bin/sh

opt=$(zenity --title="Choose AVD" --text="Choose which emulator to start" --list \
                   --column="Devices" --separator="\n" `$Android_HOME/emulator/emulator -list-avds`);

$Android_HOME/emulator/emulator -avd $opt
0
Pauli Kettunen
  1. Öffnen Sie CMD
  2. So rufen Sie die gesamte Emulatorliste ab (C:\Users\Django\AppData\Local\Android\sdk\emulator> emulator -list-avds)
  3. Wählen Sie einen Emulator aus (C:\Users\Django\AppData\Local\Android\sdk\emulator> emulator -avd Pixel_2_API_28)
0
Arman Javed

Führen Sie den ersten verfügbaren Emulator aus:

~/Library/Android/sdk/tools/emulator -avd `~/Library/Android/sdk/tools/emulator -list-avds | awk '{print $1}'`
0
Shl