Как запустить эмулятор Android из командной строки?


Я на Mac, работаю над разработкой Android с терминала. Я успешно создал Это и теперь я пытаюсь запустить его из командной строки в эмуляторе Android. Какая команда запускает эмулятор для моего проекта HelloWorld?

У меня уже есть Android инструменты и платформы-инструменты на моем пути.

Edit:

Как я могу сказать эмулятору, чтобы запустить мой проект HelloWorld из командной строки? Я уже построил проект с муравьем.

16 296

16 ответов:

Я предполагаю, что вы создали свой проект и просто должны запустить его, но у вас нет никаких AVDs созданных и должны использовать командную строку для всех действий. Вы должны сделать следующее.

  1. создайте новое виртуальное устройство (AVD) для нужной вам платформы. Если вам нужно использовать командную строку для создания AVD, вы можете вызвать android create avd -n <name> -t <targetID> где targetID-это уровень API, который вам нужен. Если вы можете использовать графический интерфейс, просто введите android avd и это запустит менеджер, где вы можете сделать тот же. Вы можете прочитать больше о управление AVD через GUI и через командную строку.
  2. запустите AVD либо с помощью команды emulator -avd <name> или через ранее запущенный графический интерфейс. Подождите, пока эмулятор полностью загрузится, это займет некоторое время. Вы можете прочитать о дополнительные параметры.
  3. теперь вам нужно установить приложение на ваш AVD. Обычно во время разработки вы просто используете тот же сценарий Ant, который вы использовали для создания проект, просто выберите install цель. Однако вы можете установить приложение вручную с помощью команды adb install <path-to-your-APK>.
  4. теперь переключитесь на эмулятор и запустите приложение, как на любом обычном устройстве, через пусковую установку. Или, в качестве альтернативы, вы можете использовать следующую команду: adb shell am start -a android.intent.action.MAIN -n <package>/<activity class>. Например: adb shell am start -a android.intent.action.MAIN -n org.sample.helloworld/org.sample.helloworld.HelloWorld. Как предложил комментатор, вы также можете заменить org.sample.helloworld.HelloWorld в строку с .HelloWorld, и это тоже будет работать.

Список всех ваших эмуляторов:

emulator -list-avds

выполнить один из перечисленных эмуляторов:

emulator @name-of-your-emulator

здесь emulator здесь:

${ANDROID_SDK}/tools/emulator

Я думаю, что лучший способ добраться до него через терминал :

cd ~/Library/Android/sdk/tools

чтобы запустить определенный AVD напрямую:

./emulator -avd {AVD_NAME}

чтобы перечислить использование AVDs:

./emulator -list-avds

просто добавить здесь, когда вы получаете "error: device offline" означает, что соединение с emulator & adb bridge было нарушено из-за времени, затраченного на запуск эмулятора.

вместо повторного запуска эмулятора в этот момент попробуйте ниже двух команд, которые останавливают и снова запускают мост adb.

adb kill-server

adb start-server

здесь вы можете проверить параметры для выполнения этой команды с помощью командной строки:

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

например, я использую его следующим образом:

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

открыть CMD

  1. Открыть Командную Строку
  2. введите путь эмулятора в моем случае

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

  1. напишите "emulator-avd emulatorname" в моем случае

эмулятор-avd AdilVD

enter image description here

Если вы строго пытаюсь запустить эмулятор из командной строки, попробуйте это в OSX.

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

вы можете упростить его, добавив псевдоним .bash_profile, и отправка его в фоновое задание.

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

пусть Баш знает об изменениях.

source ~/.bash_profile

Откройте командную строку и перейдите в <android-Home>\sdk\tools>emulator -avd <AVD_NAME>

здесь "emulator" это команда, используемая для открытия вашего Виртуальное Устройство Android.

(Linux) В вашем терминале скопируйте и вставьте и измените три поля синим цветом

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

вы можете просмотреть эмуляторы в папку домой cd / home/Youuser/.android / avd/

в настоящее время asuming у вас установлена Android Studio (2.2) в моем случае и только 1 эмулятор вы можете использовать этот лайнер

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

если вы делаете это часто, сделать это проще простого:

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

добавить псевдоним ~.aliases

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

Напомним source ~/.profile ~/.aliases перед тестированием

в следующий раз $ androidup

The запустить эмулятор из командной строки.

во-первых, создайте новый эмулятор, если он еще не существует:

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

предполагается, что у вас уже установлен системный образ X86, который соответствует API 26, и установлены API Google.

затем вы можете запустить эмулятор с emulator @MyEmulator.

список avd имя доступно на

.android / avd

/SDK_PATH/инструменты/эмулятор -netdelay ни странно полный АВД "AVD_NAME"

в windows, я использую этот сценарий PowerShell, чтобы запустить его.

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

запуск эмулятора из командной строки с помощью dns

расположение программы эмулятора : / Users / {{UserName}} / Library/Android/sdk / tools

  1. Проверьте существующий avd :- эмулятор -список виртуальных

  2. запустить эмулятор с набором dns /Пользователи/{{Имя пользователя}}/библиотека/для Android/SDK/инструменты/эмулятор -АВД Pixel_API_26 -DNS-сервер 8.8.8.8

на Mac (и Linux я думаю), после того, как вы создали свой AVD, вы можете сделать псевдоним: alias run-android='~/Library/Android/sdk/tools/emulator -avd ${YOUR_AVD_NAME} &'

Примечание: выполнение псевдонима не будет блокировать ваш терминал, если вы этого хотите, просто удалите последний '&'.

выполнить emulator Он Сам даст вам ошибку, потому что он ожидает, что в вашем нынешнем положении, у вас есть: /emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64' для запуска эмулятора.

Я написал этот простой скрипт оболочки, используя Zenity, который позволяет вам выбрать, какой avd вы хотите запустить. Если у вас нет определенного ANDROID_HOME, вы можете просто заменить его полным путем к эмулятору. Это было бы легко сделать с select вместо Zenity, но я выбрал Zenity, так как я запускаю его из меню xfce-application (хотя a .рабочий стол-файл).

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