¿Cómo lanzo el emulador de Android desde la línea de comando?

Estoy en Mac, trabajando en desarrollo de Android desde la terminal. He creado con éxito el proyecto HelloWorld y ahora estoy tratando de ejecutarlo desde la línea de comandos en el emulador de Android. ¿Qué comando ejecuta el emulador para mi proyecto HelloWorld?

Ya tengo las herramientas de Android y las herramientas de plataforma en mi PATH.

Editar:

¿Cómo le digo al emulador que ejecute mi proyecto HelloWorld desde la línea de comandos? Ya he construido el proyecto con ant.

Supongo que ha creado su proyecto y solo necesita iniciarlo, pero no tiene ningún AVD creado y debe usar la línea de comando para todas las acciones. Tienes que hacer lo siguiente.

  1. Cree un nuevo dispositivo virtual (AVD) para la plataforma que necesita. Si tiene que usar la línea de comando para crear su AVD, puede llamar a android create avd -n -t donde targetID es el nivel de API que necesita. Si puede usar la GUI, solo escriba android avd e iniciará el administrador, donde puede hacer lo mismo. Puede leer más sobre la administración de AVD a través de GUI y a través de la línea de comando .
  2. Ejecute el AVD utilizando el emulator -avd comando emulator -avd o mediante la GUI iniciada previamente. Espera hasta que el emulador se cargue por completo, lleva algo de tiempo. Puede leer sobre opciones adicionales aquí .
  3. Ahora debe instalar la aplicación en su AVD. Usualmente durante el desarrollo solo usas el mismo script Ant que usaste para construir el proyecto, solo selecciona el objective de install . Sin embargo, puede instalar la aplicación manualmente usando el comando adb install .
  4. Ahora cambie al emulador e inicie su aplicación como en cualquier dispositivo normal, a través del iniciador. O, como alternativa, puede usar el siguiente comando: adb shell am start -a android.intent.action.MAIN -n / . Por ejemplo: adb shell am start -a android.intent.action.MAIN -n org.sample.helloworld/org.sample.helloworld.HelloWorld . Como sugirió un comentarista, también puede reemplazar org.sample.helloworld.HelloWorld en la línea anterior con solo .HelloWorld , y también funcionará.

Lista todos tus emuladores:

 emulator -list-avds 

Ejecute uno de los emuladores listados:

 emulator @name-of-your-emulator 

donde está el emulator :

 ${ANDROID_SDK}/tools/emulator 

Creo que la mejor manera de llegar a él a través de la terminal es:

 cd ~/Library/Android/sdk/tools 

Para ejecutar un determinado AVD directamente:

 ./emulator -avd {AVD_NAME} 

Para hacer una lista de sus AVD, use:

 ./emulator -list-avds 

Solo para agregar aquí, cada vez que aparece el mensaje “error: dispositivo fuera de línea” significa que la conexión con emulator & adb bridge se ha interrumpido debido al tiempo empleado en el inicio del emulador.

En lugar de reiniciar el emulador en este punto, pruebe debajo de dos comandos que detienen e inician el puente de adb nuevamente.

adb kill-server

adb start-server

Aquí puede verificar las opciones para ejecutar este comando a través de la línea de comando:

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

Por ejemplo, lo uso a continuación:

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

abrir CMD

  1. Abrir símbolo del comando
  2. escriba la ruta del emulador en mi caso

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

  1. escriba “emulator -avd emulatorname” en mi caso

emulator -avd AdilVD

enter image description here

Si está tratando estrictamente de ejecutar el emulador desde la línea de comandos, intente esto en OSX.

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

Puede simplificarlo agregando un alias a .bash_profile y enviándolo a un trabajo en segundo plano.

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

Deje que Bash sepa sobre los cambios.

 source ~/.bash_profile 

Abra el símbolo del sistema y vaya a \sdk\tools>emulator -avd

Aquí "emulator" es el comando utilizado para abrir su dispositivo virtual Android .

(Linux) En tu terminal Copia y pega y cambiando los tres campos en azul

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

puede ver los emuladores en su carpeta home cd /home/Youuser/.android/avd/

Ahora que tienes Android Studio instalado (2.2) en mi caso y solo 1 emulador puedes usar este trazador

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

Si haces esto a menudo, hazlo más fácil:

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

Agregue un alias a ~.aliases

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

Recuerda el source ~/.profile ~/.aliases antes de probarlo

La próxima vez solo $ androidup

lista de nombre avd disponible en

.android / avd

/ SDK_PATH / tools / emulator -netdelay none -netspeed full -vd “AVD_NAME”

El comando android create avd está en desuso. Ahora se recomienda usar avdmanager en avdmanager lugar para iniciar emuladores desde la línea de comandos.

Primero, crea un nuevo emulador si aún no existe uno:

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

Esto supone que ya tiene instalada una imagen del sistema X86 que coincida con API 26 y tiene las API de Google instaladas.

A continuación, puede iniciar el emulador con el emulator @MyEmulator .

En Windows, utilizo este script de PowerShell para iniciarlo.

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

Iniciando el emulador desde la línea de comandos con ayuda dns

Ubicación del progtwig del emulador: / Users / {{UserName}} / Library / Android / sdk / tools

  1. Verifique avd existente: – emulator -list-avds

  2. Iniciar emulador con dns set / Users / {{UserName}} / Library / Android / sdk / tools / emulator -avd Pixel_API_26 -dns-server 8.8.8.8

En Mac (y Linux, creo), después de haber creado su AVD, puede crear un alias: alias run-android='~/Library/Android/sdk/tools/emulator -avd ${YOUR_AVD_NAME} &'

Nota : la ejecución del alias no bloqueará su terminal, si lo desea, simplemente elimine el último ‘&’ .

Ejecutar el emulator sí mismo le dará un error porque espera que, en su posición actual, tenga: /emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64' para iniciar el emulador.

Escribí este sencillo script de shell usando Zenity que le permite elegir qué AVD desea ejecutar. Si no tiene definido ANDROID_HOME, puede reemplazarlo con la ruta completa al emulador. Esto sería fácil de hacer con select en lugar de Zenity también, pero opté por Zenity ya que lo estoy ejecutando desde el menú de la aplicación xfce (aunque es un archivo .desktop).

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