Como configurar un emulador android para correr una App desde mi terminal en Mac.
Tags: reactnative, emulator, androidstudio, terminal
Published: 2020-03-19 08:15:11

Antes que nada me gustaría comentarle que esto solo lo he hecho en ***macbook***, por lo que no sabría realmente como configurarlo en equipos **linux** y **windows**, aunque en linux no debe ser tan diferente.

Trabajo con **React-native** por lo que no se si esto les ayude para otro tipo de tecnologías, espero que si.

Bueno **¿Porque hago esto?**, pues por el simple hecho de que me encontré con el problema de no saber como levantar mi emulador android sin necesidad de abrir android **"Come RAM"** estudio, y pues la necesidad me llevo a entender el funcionamiento de algunas cosas como Android sdk, tools y emulator, y para no extendernos tanto pues aquí vamos con la configuración de una manera breve.

## ¿Necesito tener instalado android studio?
SI!!!!

Antes que nada tenemos que tener ya instalado previamente Android Studio en nuestro equipo.

Estoy trabajando con la **versión 3.6.1**

Al igual que necesitamos la configuración previa de **ADB**

## Configurar emulador en Android Studio

![androidStudio](https://dev-to-uploads.s3.amazonaws.com/i/qa2hfirxioji5qk2vh4y.png)

Seleccionamos un proyecto previamente importado o abrimos uno (Nota React-Native: recuerda que se requiere importar la carpeta Android de nuestro proyecto).

Para abrir un proyecto que no ha sido abierto previamente, le damos a **Open an existing Android Studio project**

![androidVersion](https://dev-to-uploads.s3.amazonaws.com/i/dinyq7vmmh5edec2iipy.png)

Una vez que tengamos abierto nuestro programa, nos vamos a la parte superior derecha a nuestro AVD manager

![avdManager](https://dev-to-uploads.s3.amazonaws.com/i/r6i0v38ymu79t6iolaid.png)

Nos abrirá la ventana donde se administran los dispositivos virtuales previamente instalados y le damos click a *"+ create virtual device..."*

![createVD](https://dev-to-uploads.s3.amazonaws.com/i/4tewz4qp63aex0d6g4sq.png)

Esto nos abrirá la lista de **emuladores disponibles** para instalar, vamos a crear un dispositivo que tenga la ***resolución lo mas baja posible***, ya que así el uso de memoria sera menor a otros dispositivos, y que cuente con **play store**, esto es muy importante.

Yo escogí **Pixel de 5.0"** y le damos **Next**

![listDevice](https://dev-to-uploads.s3.amazonaws.com/i/y428adtm2l8tmpgkr1ya.png)

![listDeviceChoose](https://dev-to-uploads.s3.amazonaws.com/i/1gvdnemrdciay6uc1erb.png)

En la siguiente pantalla nos toca elegir el **sistema** a utilizar, recomiendo usar los mas recientes, en este caso yo elegí el **Q con el Api Level 29 y su ABI de x86** que es básicamente el Android 10.0 y le dan a **download**

![systemImage](https://dev-to-uploads.s3.amazonaws.com/i/4sias33m0ew9pwpbyzls.png)

Una vez que tengamos la imagen del sistema descargado y seleccionado el sistema, le damos **next** y luego **finish** (la ultima ventana no es necesario que se configure)

Ya terminado de crear nuestro dispositivo, vamos a verificar que corra bien, en el administrador de dispositivos(AVD manager), le damos play a nuestro dispositivo

![actionsAVDManager](https://dev-to-uploads.s3.amazonaws.com/i/si4pkuujqvu8rbvz2kid.png)

Ya que corroboramos, podemos cerrar el dispositivo y ahora nos vamos al **SDK Manager** que de igual forma se encuentra en la parte superior derecha.

![sdkManager](https://dev-to-uploads.s3.amazonaws.com/i/llgtkmdz6slxihbdo037.png)

Aquí en la primer ventana vamos a seleccionar **Show Package Details**

![showPackage](https://dev-to-uploads.s3.amazonaws.com/i/6e5e4lm1ztp0nznjef8o.png)

Se desplegaran los recursos sobre nuestra versión sdk que necesitamos, en este caso sobre **Android 10.0 (Q)**

Verificamos que este seleccionado:

![selectIntel](https://dev-to-uploads.s3.amazonaws.com/i/65nvl1x8azi3ronfcld4.png)

- Android SDK Platform 29
- Sources for Android 29
- Intel x86 Atom System Image
- Intel x86 Atom_64 System Image
- Google Play Intel x86 Atom System Image

Luego nos movemos a la pestaña **SDK Tools** en esta misma ventana.

![sdkTools](https://dev-to-uploads.s3.amazonaws.com/i/8wsosst0s6pod86fkpf7.png)

Y verificamos que estén seleccionadas las siguientes herramientas.

![listTools](https://dev-to-uploads.s3.amazonaws.com/i/2jdbmxw8h53gdhuuje32.png)

- Android Emulator
- Android SDK Platform-Tools
- Android SDK Tools
- Intel x86 Emulator Accelerator

Le damos al botón **Apply**.

Algunas de estas herramientas se descargaran por lo que vamos a esperar un poco dichas descargas e instalaciones.

## Configurar terminal (Variables de entorno)

Bueno una vez hemos terminado de configurar nuestras herramientas pasaremos a la configuración de la terminal en mi caso mi archivo **.zshrc** o **.bash_profile** dependiendo su configuración de terminal (en este caso yo uso [Oh-my-zsh](https://ohmyz.sh/), les dejo el link por si quieren saber mas de el), lo abrimos con nuestro editor preferido.

Una vez abierto nuestro archivo a configurar, nos vamos a la parte de abajo y vamos a declarar nuestra nuevas variables de entorno.

![path](https://dev-to-uploads.s3.amazonaws.com/i/xkyld75nc8k18m45z8cn.png)

Declaramos las variables de Android tal cual se ve en la imagem.

**NOTA: Es importante que declaremos emulator antes que platform-tools, tools, tools/bin.**

**Guardamos** y **reiniciamos nuestra terminal**

## Correr Emulador

En nuestra **terminal** vamos primero a **comprobar** que la variable de entorno este bien declarada, vamos a escribir el siguiente comando:

```
which emulator

OUTPUT:
/Users/myUser/Library/Android/sdk/emulator/emulator
```

Y vamos a comprobar que nuestro dispositivo se encuentra en la lista de disponibles, el siguiente comando nos dará la lista de dispositivos previamente instalados con el nombre que se le haya asignado, en mi caso quedo con el nombre por default que me dio Android Studio.

```
emulator -list-avds

OUTPUT:
Pixel_API_29
```

Y una vez comprobados estos dos puntos vamos a correr nuestro emulador con el siguiente comando y **voilà!**

```
emulator -avd Pixel_API_29
```

![emulator](https://dev-to-uploads.s3.amazonaws.com/i/su7fsuiknipyc65hg7gq.png)

Ya solo queda correr nuestra app, con el comando siguiente vamos comprobar que nuestro emulador esta conectado

```
adb devices

OUTPUT:
List of devices attached
emulator-5554	device
```

Y en caso que estemos trabajando con **React-Native**, primero corremos el emulador y luego corremos:

```
react-native run-android
```

Y esperamos a que nuestra app se instale y corra en nuestro emulador.

Gracias por llegar hasta aquí, déjame tu comentario, el **feedback** es muy valioso para mi y si te gusto por favor dale al **"Me gusta"** y si te encanto regálame un **"Unicornio!!!"** son gratis!, sigo trabajando para poder apoyar a la comunidad con este tipo de 

**PD**: probablemente algunas herramientas o configuraciones las haya omitido, ya que yo previamente ya trabajaba con Android Studio y sus emuladores, de ser así por favor házmelo saber para poder ayudarte con las configuraciones previamente omitidas.

Nos vemos hasta la próxima.

Fuentes:

https://developer.android.com/docs/
https://developer.android.com/studio/install
https://developer.android.com/studio/run/emulator