¿Cómo inicio el emulador de Android desde la línea de comandos?

Resuelto Thierry Lam asked hace 54 años • 32 respuestas

Estoy en Mac, trabajando en el desarrollo de Android desde la terminal. Creé exitosamente el proyecto HelloWorld y ahora estoy intentando ejecutarlo desde la línea de comando en el emulador de Android. ¿Qué comando ejecuta el emulador de mi proyecto HelloWorld?

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

Editar:

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

Thierry Lam avatar Jan 01 '70 08:01 Thierry Lam
Aceptado

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 android create avd -n <name> -t <targetID>donde targetID es el nivel de API que necesita. Si puede usar la GUI, simplemente escriba android avde iniciará el administrador, donde podrá hacer lo mismo. Puede leer más sobre la administración de AVD a través de la GUI y la línea de comandos .
  2. Ejecute el AVD mediante el comando emulator -avd <name>o mediante la GUI iniciada previamente. Espere hasta que el emulador se cargue por completo, lleva algo de tiempo. Puede leer sobre opciones adicionales aquí .
  3. Ahora tienes que instalar la aplicación en tu AVD. Por lo general, durante el desarrollo solo usas el mismo script Ant que usaste para construir el proyecto, solo selecciona installel objetivo. Sin embargo, puede instalar la aplicación manualmente usando el comando adb install <path-to-your-APK>.
  4. Ahora cambie al emulador e inicie su aplicación como en cualquier dispositivo normal, a través del iniciador. O, como alternativa, puede utilizar el siguiente comando: adb shell am start -a android.intent.action.MAIN -n <package>/<activity class>. 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 puedes reemplazar org.sample.helloworld.HelloWorlden la línea anterior con just .HelloWorldy también funcionará.
Malcolm avatar Feb 11 '2011 22:02 Malcolm

Lista todos tus emuladores:

emulator -list-avds

Ejecute uno de los emuladores enumerados con -avdla bandera:

emulator -avd name-of-your-emulator

donde el emulatorejecutable está debajo:

${ANDROID_SDK}/tools/emulator

O, para SDK más nuevos, intente:

cd ${ANDROID_HOME}/emulator
emulator -avd name-of-your-emulator
azibi avatar Nov 02 '2015 21:11 azibi

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

cd ~/Library/Android/sdk/emulator

O por Windows:

cd %userProfile%\AppData\Local\Android\sdk\emulator

Para ejecutar un determinado AVD directamente:

./emulator -avd {AVD_NAME}

Para enumerar sus AVD, utilice:

./emulator -list-avds
Ali Sao avatar Jul 19 '2017 21:07 Ali Sao

Solo para agregar aquí, cada vez que aparece "error: dispositivo fuera de línea" significa que la conexión con el emulador y el puente adb se ha interrumpido debido al tiempo que lleva iniciar el emulador.

En lugar de reiniciar el emulador en este punto, intente con los siguientes dos comandos que detiene e inicia adb bridge nuevamente.

servidor de eliminación de adb

servidor de inicio adb

ABDroids avatar Jul 27 '2011 03:07 ABDroids

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

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

Por ejemplo, lo uso así a continuación:

emulator -avd ICS_ARM -wipe-data -no-boot-anim -cpu-delay 0
germangti avatar Jan 09 '2013 13:01 germangti