¿Cómo inicio el emulador de Android desde la línea de comandos?
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.
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.
- 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 escribaandroid avd
e 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 . - 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í . - 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
install
el objetivo. Sin embargo, puede instalar la aplicación manualmente usando el comandoadb install <path-to-your-APK>
. - 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 reemplazarorg.sample.helloworld.HelloWorld
en la línea anterior con just.HelloWorld
y también funcionará.
Lista todos tus emuladores:
emulator -list-avds
Ejecute uno de los emuladores enumerados con -avd
la bandera:
emulator -avd name-of-your-emulator
donde el emulator
ejecutable está debajo:
${ANDROID_SDK}/tools/emulator
O, para SDK más nuevos, intente:
cd ${ANDROID_HOME}/emulator
emulator -avd name-of-your-emulator
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
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
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