run - gradle build android studio
¿Cómo ejecuto el emulador de Android desde la línea de comandos? (16)
Estoy en Mac, trabajando en el desarrollo de Android desde el terminal. He creado con éxito el proyecto HelloWorld y ahora estoy intentando 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 hormiga.
Creo que la mejor manera de llegar a través de la terminal es:
cd ~/Library/Android/sdk/tools
Para ejecutar un determinado AVD directamente:
./emulator -avd {AVD_NAME}
Para listar sus AVDs use:
./emulator -list-avds
(Linux) En tu terminal Copia y pega y cambia 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)
Puedes ver los emuladores en tu carpeta de inicio cd /home/Youuser/.android/avd/
Abra el símbolo del sistema y vaya a <android-Home>/sdk/tools>emulator -avd <AVD_NAME>
Aquí "emulator"
es el comando utilizado para abrir su dispositivo virtual Android .
Arrancando el emulador desde la línea de comandos con dns help
Ubicación del programa del emulador: / Users / {{UserName}} / Library / Android / sdk / tools
Compruebe avd existente: - emulador -list-avds
Inicie el emulador con dns set / Users / {{UserName}} / Library / Android / sdk / tools / emulator -avd Pixel_API_26 -dns-server 8.8.8.8
El comando android create avd
está en desuso. Ahora se recomienda usar avdmanager
lugar de lanzar emuladores desde la línea de comandos.
Primero, crea un nuevo emulador si 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 coincide con la API 26, y tiene instaladas las API de Google.
A continuación, puede iniciar el emulador con el emulator @MyEmulator
.
En Mac (y en 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 propio emulator
le dará un error porque él espera que, en su posición actual, tenga: /emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64''
para iniciar el emulador.
En Windows, uso 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;
Escribí este sencillo script de shell con Zenity que te permite elegir qué avd quieres ejecutar. Si no tiene ANDROID_HOME definido, simplemente 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 ejecuto desde el menú de la aplicación xfce (aunque 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
Hoy en día, suponiendo que tiene instalado Android Studio (2.2) en mi caso y solo 1 emulador puede usar este forro.
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
Agregar un alias a ~.aliases
alias androidup="emulator ''@''`emulator -list-avds`"
Recordar en la source ~/.profile ~/.aliases
antes de probarlo
La próxima vez solo $ androidup
Lista todos tus emuladores:
emulator -list-avds
Ejecute uno de los emuladores listados:
emulator @name-of-your-emulator
donde el emulator
esta debajo
${ANDROID_SDK}/tools/emulator
Si está intentando estrictamente ejecutar el emulador desde la línea de comandos, intente esto en OSX.
"/Applications/Android Studio.app/sdk/tools/emulator" -avd <NAMEOFDEVICE> -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 <NAMEOFDEVICE> -netspeed full -netdelay none &''
Hágale saber a Bash sobre los cambios.
source ~/.bash_profile
Solo para agregar aquí, siempre que aparezca "error: dispositivo fuera de línea" significa que la conexión con el emulador y el puente adb se ha interrumpido debido al tiempo necesario para iniciar el emulador.
En lugar de reiniciar el emulador en este punto, intente debajo de dos comandos que detienen e inician el puente adb nuevamente.
adb kill-server
adb start-server
Supongo que ha creado su proyecto y solo necesita iniciarlo, pero no tiene ningún AVD creado y tiene que usar la línea de comandos 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 comandos para crear su AVD, puede llamar a
android create avd -n <name> -t <targetID>
donde targetID es el nivel de API que necesita. Si puede usar GUI, simplemente escribaandroid avd
y se iniciará el administrador, donde puede 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 utilizando el
emulator -avd <name>
comandosemulator -avd <name>
o mediante la GUI iniciada anteriormente. Espere hasta que el emulador se cargue por completo, lleva algún tiempo. Puedes leer sobre opciones adicionales aquí . - Ahora tienes que instalar la aplicación en tu AVD. Por lo general, durante el desarrollo solo usa el mismo script Ant que usó para construir el proyecto, simplemente seleccione el destino de
install
. 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 lanzador. O, como alternativa, puede usar 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 puede reemplazarorg.sample.helloworld.HelloWorld
en la línea anterior con solo.HelloWorld
, y también funcionará.
lista de nombre avd disponible en
.android / avd
/ SDK_PATH / tools / emulator -netdelay none -netspeed full -avd "AVD_NAME"
Here 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