Android Studio Meerkat y Emulador en Docker¶
Enlaces de interés¶
-
Enlace de descarga de la versión Meerkat, la que utilizamos en esta guía: android-studio-2024.3.1.13-linux.tar.gz
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:
Y el siguiente listado de dispositivos que se pueden poner en marcha:
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:
-
Poner en marcha el emulador, ejecutando el script que hemos programado.
bash ./emulador_Samsung-Galaxy-S10.sh
-
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
-
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:
-
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:
-
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:
-
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.