Ich bin auf einem Mac und arbeite an der Android-Entwicklung vom Terminal aus. Ich habe das HelloWorld- Projekt erfolgreich erstellt und versuche nun, es über die Befehlszeile 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.
Bearbeiten:
Wie kann ich den Emulator anweisen, mein HelloWorld-Projekt über die Befehlszeile auszuführen? Ich habe das Projekt bereits mit ant gebaut.
android
command-line
android-emulator
console
console-application
Thierry Lam
quelle
quelle
avdmanager
und Starten mitemulator
.Antworten:
Ich gehe davon aus, dass Sie Ihr Projekt erstellt haben und es nur starten müssen, aber keine AVDs erstellt haben und für alle Aktionen die Befehlszeile verwenden müssen. Sie müssen Folgendes tun.
android create avd -n <name> -t <targetID>
wo targetID die API-Ebene ist, die Sie benötigen. Wenn Sie die GUI verwenden können, geben Sie einfach einandroid avd
und der Manager wird gestartet, wo Sie dasselbe tun können. Weitere Informationen zur AVD-Verwaltung finden Sie über die grafische Benutzeroberfläche und die Befehlszeile .emulator -avd <name>
oder über die zuvor gestartete GUI aus. Warten Sie, bis der Emulator vollständig geladen ist. Dies dauert einige Zeit. Sie können darüber lesen , hier zusätzliche Optionen .install
Ziel aus. Sie können die Anwendung jedoch manuell mit dem Befehl installierenadb install <path-to-your-APK>
.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 vorgeschlagen hat, können Sieorg.sample.helloworld.HelloWorld
in der obigen Zeile auch durch just ersetzen.HelloWorld
, und es wird auch funktionieren.quelle
adb install <path-to-your-APK>
, bekomme icherror: device not found
. Wenn ich den Emulator in einer Shell und den Befehl adb install in einer anderen ausführe, erhalte icherror: device offline
. Wie stelle ich ein emuliertes virtuelles Gerät ein?adb devices
Befehl überprüfen .adb kill-server; adb start-server
adb devices
Listen Sie alle Ihre Emulatoren auf:
Führen Sie einen der aufgelisteten Emulatoren mit dem
-avd
Flag aus:wo
emulator
ist unter:quelle
cd
in den Ordner $ ANDROID_SDK / tools wechseln, sonst funktioniert es nicht.emulator
häufiger verwenden, erstellen Sie einen Alias:nano ~/.bashrc
> Hinzufügenalias emulator='$ANDROID_HOME/tools/emulator'
, Speichern. ~/bashrc
und fertig. (Ersetzen SieANDROID_HOME
durch die richtige verwendete Variable oder den statischen Pfad zum Android-Ordner).tools
Ordner navigieren, funktioniert dies nicht. Ich habe einen Fehler bekommenPANIC: Missing emulator engine program for 'x86' CPU.
. (Ich bin unter Linux, OpenSUSE.) Nachdem ich zu navigierttools
und dann einfach ausgeführt habe,emulator -avd "{name}"
hat es funktioniert.Ich denke, der beste Weg, um es über das Terminal zu erreichen, ist:
So führen Sie eine bestimmte AVD direkt aus:
Um Ihre AVDs aufzulisten, verwenden Sie:
quelle
./
als Teil desemulator
Befehls in einen Pfad / Alias aufnehmen?~/Android/Sdk/emulator
.Nur hier hinzuzufügen, wenn Sie "Fehler: Gerät offline" erhalten, bedeutet dies, dass die Verbindung mit dem Emulator und der ADB-Brücke aufgrund der beim Starten des Emulators benötigten Zeit unterbrochen wurde.
Anstatt den Emulator an dieser Stelle neu zu starten, versuchen Sie unten zwei Befehle, die die adb-Brücke stoppen und erneut starten.
quelle
Hier können Sie die Optionen zum Ausführen dieses Befehls über die Befehlszeile überprüfen:
Zum Beispiel benutze ich es wie folgt:
quelle
CMD öffnen
quelle
Wenn Sie ausschließlich versuchen, den Emulator über die Befehlszeile auszuführen, versuchen Sie dies unter OSX.
Sie können es vereinfachen, indem Sie dem .bash_profile einen Alias hinzufügen und an einen Hintergrundjob senden.
Informieren Sie Bash über die Änderungen.
quelle
NAMEOFDEVICE
den tatsächlichen Namen des Emulators ersetzen .emulator -list-avds
Führen Sie a aus , um eine Liste der AVDs zu erhalten, die Sie in Ihrem System haben.Öffnen Sie die Eingabeaufforderung und gehen Sie zu
<android-Home>\sdk\tools>emulator -avd <AVD_NAME>
Hier
"emulator"
ist der Befehl zum Öffnen Ihres virtuellen Android-Geräts .quelle
Wenn Sie Git Bash haben, können Sie Ihren Emulator mit einem Doppelklick öffnen, mit einigen anfänglichen Einstellungen (nur in Windows 10 getestet) :
cd ~/AppData/Local/Android/sdk/emulator
./emulator -list-avds
und halten Sie Kenntnis des Namens des Emulators.MY_EMULATOR
zum Beispiel.Öffnen Sie den Editor und fügen Sie diese beiden Zeilen hinzu (geben Sie stattdessen den Namen Ihres Emulators ein
MY_EMULATOR
):cd ~/AppData/Local/Android/sdk/emulator; ./emulator -avd MY_EMULATOR
Speichern Sie die Datei an einem geeigneten Ort als myfile. sh . Sie können "myfile" nach Ihren Wünschen ändern, aber die Erweiterung .sh wird benötigt.
chmod +x myfile.sh
. Denken Sie daran, den Namen Ihrer Datei anstelle von myfile einzugeben .Und das ist es! Von nun an, jedes Mal, wenn Sie diesen Emulator starten müssen, suchen Sie einfach Ihre myfile.sh und doppelklicken Sie darauf und warten Sie, bis Ihr Android-Emulator gestartet ist!
quelle
(Linux) In Ihrem Terminal Kopieren & Einfügen und Ändern der drei Felder in Blau
Sie können die Emulatoren in Ihrem Ordner anzeigen. home cd /home/Youuser/.android/avd/
quelle
Der
android create avd
Befehl ist veraltet. Es wird jetzt empfohlen,avdmanager
stattdessen Emulatoren über die Befehlszeile zu starten.Erstellen Sie zunächst einen neuen Emulator, falls noch keiner vorhanden ist:
Dies setzt voraus, dass Sie bereits ein X86-Systemabbild installiert haben, das mit API 26 übereinstimmt, und dass die Google-APIs installiert sind.
Sie können den Emulator dann mit starten
emulator @MyEmulator
.quelle
Heutzutage, vorausgesetzt, Sie haben Android Studio (2.2) in meinem Fall installiert und nur 1 Emulator, könnten Sie diesen einen Liner verwenden
Wenn Sie dies häufig tun, machen Sie es einfacher:
Fügen Sie einen Alias hinzu
~.aliases
Erinnern Sie sich an,
source ~/.profile ~/.aliases
bevor Sie es testenNächstes Mal nur
$ androidup
quelle
Liste der verfügbaren Avd-Namen auf
quelle
In Windows verwende ich dieses PowerShell-Skript, um es zu starten.
quelle
quelle
Unter Mac (und Linux, glaube ich) können Sie nach dem Erstellen Ihrer AVD einen Alias erstellen:
alias run-android='~/Library/Android/sdk/tools/emulator -avd ${YOUR_AVD_NAME} &'
Hinweis : Durch die Ausführung des Alias wird Ihr Terminal nicht gesperrt. Wenn Sie dies möchten, entfernen Sie einfach das letzte '&' .
Wenn Sie
emulator
es selbst ausführen, erhalten Sie einen Fehler, da er erwartet, dass Sie an Ihrer aktuellen Position:/emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64'
den Emulator starten müssen.quelle
Ich habe dieses einfache Shell-Skript mit Zenity geschrieben, mit dem Sie auswählen können, welche AVD Sie ausführen möchten. Wenn Sie ANDROID_HOME nicht definiert haben, können Sie dies einfach durch den vollständigen Pfad zum Emulator ersetzen. Dies wäre auch mit select anstelle von Zenity einfach zu tun, aber ich habe mich für Zenity entschieden, da ich es über das xfce-Anwendungsmenü (obwohl eine .desktop-Datei) ausführe.
quelle
Führen Sie den ersten verfügbaren Emulator aus:
quelle
~/Library/Android/sdk/tools/emulator -avd $(~/Library/Android/sdk/tools/emulator -list-avds | head -1)
Starten des Emulators über die Befehlszeile mit DNS-Hilfe
Speicherort des Emulatorprogramms: / Users / {{UserName}} / Library / Android / sdk / tools
Überprüfen Sie die vorhandenen avd: - Emulator -list-avds
Starten Sie den Emulator mit dem DNS-Set / Users / {{UserName}} / Library / Android / sdk / tools / emulator -avd Pixel_API_26 -dns-server 8.8.8.8
quelle
Siehe folgende Anweisungen für Ubuntu Linux mit zsh :
nano ~/.zshrc
, um Ihr Profil zu bearbeitensource ~/.zshrc
oder melden Sie sich einfach ab und wieder anemulator -help
im Terminal ausführenHINWEIS : Sollte
bash
durch Ersetzen.zshrc
durch gleich sein.bashrc
quelle
Ich bin spät dran, aber ich möchte teilen, vielleicht hilft es jemandem und mir auch, wenn es später jemals gebraucht wird :) Im Folgenden finden Sie die Möglichkeit, den Emulator über die Befehlszeile mit einem Befehl mithilfe eines Bash-Skripts zu öffnen. Ich verwende MX Linux, aber der Prozess ist auf allen Betriebssystemen gleich
1- Überprüfen Sie zuerst die installierten Emulatoren
es wird wie unten resultieren
2- Öffnen Sie einen beliebigen Text- oder Code-Editor, erstellen Sie eine neue Datei und schreiben Sie wie folgt
Nexus_4_API_28 ist der Emulator, den ich öffnen möchte. Sie schreiben Ihren, den Sie vom ersten Schritt an erhalten haben
Speichern Sie diese Datei mit der Erweiterung .sh
3- Ändern Sie dann die Berechtigungen für die Datei, um sie ausführbar zu machen:
4- Öffnen Sie nun den Emulator, der gerade diese Bash-Skriptdatei mit dem folgenden Befehl ausführt
quelle