Saltar a contenido

Android Studio Meerkat y Emulador en Docker

Enlaces de interés

Requisitos del escritorio virtual:

  • Tiene que tener Nested virtualization activado:

  • Características mínimas del escritorio virtual (se puede ajustar según su preferencia)::

Instalación

Enlace de descarga de la versión Meerkat (la que utilizamos en esta guía): android-studio-2024.3.1.13-linux.tar.gz

Entramos en Firefox, pegamos el enlace, y se descarga la carpeta comprimida .tar.gz con el programa Android Studio a la versión Meerkat.

sudo apt update
sudo apt -y upgrade

cd Descargas
tar -xzvf android-studio-2024.3.1.13-linux.tar.gz

cd android-studio/bin
./studio.sh

  • Aceptamos las políticas y condiciones:

  • Y ya podemos empezar la instalación tomando el botón Finish:

Nos aparece esta pantalla con la opción de crear un nuevo proyecto o cargar un ya creado:

Para hacer una demo de cómo funciona, haremos un nuevo proyecto a partir de una plantilla proporcionada por el programa denominada "Bottom Navigation Views Activity", la seleccionamos y tomamos el botón Next:

Denominamos el proyecto como Isard App 1, y el nombre del paquete como com.isard.isardapp1

La primera vez que cargamos nuestra aplicación, esta tardará más porque tiene que descargar todos los paquetes y dependencias para el correcto funcionamiento. Las siguientes veces, no habrá que esperar el mismo tiempo.

Podemos ver el código principal:

Y el layout, donde se muestra cómo quedaría el resultado visual de la aplicación:

Una vez instalada el programa y creado el proyecto salimos de Android Studio.

Emulador

Para conseguir un rendimiento más ágil y rápido, ejecutamos el emulador dentro de un contenedor.

  • Instalamos Docker:
    sudo apt update
    sudo apt-get remove docker docker-engine docker.io containerd runc curl
    sudo apt-get update
    sudo apt-get install -y \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
    sudo mkdir -m 0755 -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
    sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    sudo systemctl status docker
    

Según lo que queramos hacer cambiaremos el comando a ejecutar. En esta demostración utilizaremos la versión 14.0 del emulador, y usaremos el dispositivo "Samsung Galaxy S10". Y para que el estado del emulador se guarde, montaremos un volumen.

Creamos un script que pondrá en marcha el emulador al navegador Firefox cada vez que se ejecute (podéis cambiarlo por el de preferencia):

sudo nano emulador_Samsung-Galaxy-S10.sh
sudo docker run --rm -d -p 6080:6080 -p 5555:5555 -p 5554:5554 -e EMULATOR_DEVICE="Samsung Galaxy S10" -e WEB_VNC=true --device /dev/kvm --name android-container -v root:/root -v data:/home/androidusr budtmo/docker-android:emulator_14.0

firefox http://localhost:6080

Enlaces de interés:

En este proyecto de GitHub podemos encontrar la imagen de docker para poner en marcha el emulador: https://github.com/budtmo/docker-android

Las versiones del emulador: https://github.com/budtmo/docker-android?tab=readme-ov-file#list-of-devices

Y el siguiente listado de dispositivos que se pueden poner en marcha: https://github.com/budtmo/docker-android?tab=readme-ov-file#list-of-devices


Utilización

La primera vez que abrimos el emulador es normal que tarde más tiempo. Aun así, en las siguientes ocasiones, al guardar el estado, se evita repetir todo el proceso de inicio, y podremos ejecutar nuestra aplicación directamente.

Para poder ejecutar una aplicación de Android Studio en el emulador tenemos que seguir los siguientes pasos:

  1. Poner en marcha el emulador, ejecutando el script que hemos programado.

    bash ./emulador_Samsung-Galaxy-S10.sh
    
  2. Abrir el programa Android Studio. Desde la barra de navegación de programas o por terminal ejecutante ./studio.sh en la carpeta /Ruta/de/Descarga/android-studio/bin

  3. Si entramos a nuestro proyecto, en la barra lateral derecha, habrá una sección llamada "Device Manager", donde ha de aparecer el dispositivo que hemos puesto en marcha en el contenedor como en la siguiente imagen:

  4. Se hacen los cambios deseados de la aplicación y, la ejecutamos con el botón de Run.

Y ya tiene que aparecer nuestra aplicación dentro del emulador.

Cuando hayamos acabado de trabajar y queramos apagar el emulador, tenemos que seguir los pasos siguientes:

  1. Presionamos la cruz que se encuentra a la barra lateral derecha en la interfaz del emulador:

    Nos aparecerá un mensaje indicando que se está guardando el estado del emulador:

  2. Borramos el contenedor:

sudo docker rm -f android-container

A continuación, si queréis volver a poner en marcha el emulador, se tiene que repetir el mismo proceso de este apartado. Las siguientes veces, el emulador ya iniciará puesto en marcha, con el estado que se dejó cuando se apagó, aunque el escritorio virtual sea reiniciado.


Última actualización: March 27, 2025