Jak uruchomić emulator Androida z wiersza poleceń?

Jestem na Macu, pracuję nad rozwojem Androida z terminala. Udało mi się stworzyć projekt HelloWorld i teraz próbuję go uruchomić z wiersza poleceń w emulatorze Androida. Które polecenie uruchamia emulator dla mojego projektu HelloWorld?

Mam już narzędzia i platformy Android na swojej drodze.

Edit:

Jak powiedzieć emulatorowi, aby uruchomił mój projekt HelloWorld z linii poleceń? Już zbudowałem projekt z ant.

Author: Jeff Axelrod, 2011-02-12

16 answers

Zakładam, że zbudowałeś swój projekt i po prostu musisz go uruchomić, ale nie masz żadnych avd stworzonych i musisz użyć linii poleceń dla wszystkich działań. Musisz wykonać następujące czynności.

  1. Utwórz nowe urządzenie wirtualne (AVD) dla potrzebnej platformy. Jeśli musisz użyć wiersza poleceń do tworzenia AVD, możesz wywołać android create avd -n <name> -t <targetID> gdzie targetID jest poziomem API, którego potrzebujesz. Jeśli możesz użyć GUI, po prostu wpisz android avd i uruchomi się menedżer, w którym możesz zrobić to samo. Możesz dowiedz się więcej o zarządzaniu AVD poprzez GUI i poprzez linię komend.
  2. Uruchom AVD za pomocą polecenia emulator -avd <name> lub wcześniej uruchomionego GUI. Poczekaj, aż emulator w pełni się załaduje, zajmuje to trochę czasu. Możesz przeczytać o dodatkowe opcje tutaj .
  3. Teraz musisz zainstalować aplikację na swoim AVD. Zazwyczaj podczas tworzenia projektu używasz tego samego skryptu Ant, którego użyłeś do zbudowania projektu, po prostu wybierz install target. Jednak można zainstaluj aplikację ręcznie za pomocą polecenia adb install <path-to-your-APK>.
  4. teraz przełącz się na emulator i uruchom aplikację jak na każdym normalnym urządzeniu, przez launcher. Alternatywnie możesz użyć następującego polecenia: adb shell am start -a android.intent.action.MAIN -n <package>/<activity class>. Na przykład: adb shell am start -a android.intent.action.MAIN -n org.sample.helloworld/org.sample.helloworld.HelloWorld. Jak zasugerował komentator, możesz również zastąpić org.sample.helloworld.HelloWorld w powyższej linii tylko .HelloWorld, i to też będzie działać.
 328
Author: Malcolm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-02 01:22:47

Lista wszystkich emulatorów:

emulator -list-avds

Uruchom jeden z wymienionych emulatorów:

emulator @name-of-your-emulator

Gdzie emulator jest pod:

${ANDROID_SDK}/tools/emulator
 192
Author: azibi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-26 14:33:10

Myślę, że najlepszym sposobem, aby dotrzeć do niego przez terminal jest:

cd ~/Library/Android/sdk/tools

Aby uruchomić pewne AVD bezpośrednio:

./emulator -avd {AVD_NAME}

Aby wyświetlić listę AVDs użyj :

./emulator -list-avds
 52
Author: Ali Sao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-19 21:40:02

Aby dodać tutaj, za każdym razem, gdy pojawi się "błąd: urządzenie offline" oznacza, że połączenie z emulatorem i mostkiem adb zostało przerwane ze względu na czas potrzebny na uruchomienie emulatora.

Zamiast ponownie uruchamiać emulator w tym momencie spróbuj poniżej dwóch komend, które zatrzymują i ponownie uruchamiają mostek adb.

ADB kill-server

Adb start-server

 25
Author: ABDroids,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-27 03:35:42

Tutaj Możesz sprawdzić opcje wykonania tego polecenia za pomocą wiersza poleceń:

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

Na przykład, używam go tak poniżej:

emulator -avd ICS_ARM -wipe-data -no-boot-anim -cpu-delay 0
 19
Author: germangti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-01 03:33:40

Otwórz CMD

  1. Otwórz Wiersz Polecenia
  2. wpisz ścieżkę emulatora w moim przypadku

C:\adt-bundle-windows-x86_64-20140702\sdk\tools Tutaj wpisz opis obrazka

  1. Napisz "emulator - avd emulatorname" w moim przypadku

Emulator-avd AdilVD

Tutaj wpisz opis obrazka

 11
Author: Adiii,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-19 03:31:01

Jeśli próbujesz uruchomić emulator z linii poleceń, spróbuj to zrobić w systemie OSX.

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

Możesz to uprościć dodając alias do .bash_profile i wysłanie go do zadania w tle.

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

Poinformuj Basha o zmianach.

source ~/.bash_profile
 9
Author: Rick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-28 21:26:49

Otwórz wiersz polecenia i przejdź do <android-Home>\sdk\tools>emulator -avd <AVD_NAME>

Tutaj "emulator" jest komenda używana do otwarcia wirtualnego urządzenia z Androidem .

 6
Author: Chandra Shekhar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-01 04:18:01

(Linux) W terminalu Kopiuj i wklej oraz zmieniając trzy pola na niebiesko

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

Możesz wyświetlić emulatory w folderze home cd / home / Youuser/.android / avd /

 4
Author: David Hackro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-30 18:44:17

Obecnie jak masz zainstalowane Android Studio (2.2) w moim przypadku i tylko 1 emulator możesz użyć tego jednego linera

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

Jeśli robisz to często, Ułatw to:

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

Dodaj alias do ~.aliases

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

Przypomnij sobie source ~/.profile ~/.aliases przed przetestowaniem

Następnym razem tylko $ androidup

 3
Author: Jaime Agudo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-14 14:11:26

Polecenie android create avd jest przestarzałe. Teraz zaleca się stosowanie avdmanager zamiast tego uruchamiać emulatory z linii poleceń.

Najpierw Utwórz nowy emulator, jeśli jeszcze nie istnieje:

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

Zakłada to, że masz już zainstalowany obraz systemu X86, który pasuje do API 26 i ma zainstalowane interfejsy API Google.

Można następnie uruchomić emulator za pomocą emulator @MyEmulator.

 3
Author: fractalwrench,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-05 13:43:50

Lista nazw avd dostępnych na

.android / avd

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

 2
Author: rinkesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-17 05:51:35

W windows, używam tego skryptu PowerShell, aby go uruchomić.

$em = $env:USERPROFILE+"\AppData\Local\Android\sdk\tools\emulator.exe"; 
Start-Process $em " -avd Nexus_5X_API_24" -WindowStyle Hidden;
 0
Author: Andy Li,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-24 01:16:25

Uruchamianie emulatora z linii poleceń z Pomocą dns

Lokalizacja programu emulatora: / Users / {{UserName}} / Library / Android / sdk / tools

  1. Sprawdź istniejące avd :- emulator-list-avds

  2. Uruchom emulator z zestawem dns /Users / {{UserName}} / Library / Android / sdk / tools /emulator-avd Pixel_API_26-DNS-server 8.8.8.8

 0
Author: dayanand,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-09 06:15:21

Na Macu (i Linuksie myślę), po utworzeniu AVD, możesz utworzyć alias: alias run-android='~/Library/Android/sdk/tools/emulator -avd ${YOUR_AVD_NAME} &'

Uwaga: wykonanie aliasu nie zablokuje twojego terminala, jeśli chcesz, po prostu usuń ostatni '&'.

Run emulator it self da ci błąd, ponieważ oczekuje, że w bieżącej pozycji masz: /emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64' aby uruchomić emulator.

 0
Author: Frismaury,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-18 21:05:41

Napisałem ten prosty skrypt powłoki używając Zenity, który pozwala wybrać, który avd chcesz uruchomić. Jeśli nie masz zdefiniowanego ANDROID_HOME, możesz po prostu zastąpić go pełną ścieżką do emulatora. Byłoby to łatwe do zrobienia z select zamiast Zenity również, ale zdecydowałem się na Zenity ponieważ jestem uruchomiony z menu Xfce-application (choć .desktop-file).

#!/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
Author: Pauli Kettunen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-18 09:04:27