Android Studio Meerkat i Emulador en Docker¶
Enllaços d'interès¶
-
Enllaç de baixada de la versió Meerkat, la que utilitzem en aquesta guia: android-studio-2024.3.1.13-linux.tar.gz
Requisits per l'escriptori virtual:¶
-
Ha de tenir Nested virtualization activat:
-
Característiques mínimes de l'escriptori virtual (es pot ajustar segons la seva preferència):
Instal·lació¶
Enllaç de baixada versió Meerkat (la que utilitzem en aquesta guia)=> android-studio-2024.3.1.13-linux.tar.gz
Entrem a Firefox, peguem l'enllaç, i es descarrega la carpeta comprimida .tar.gz amb el programa Android Studio a la versió Meerkat.
sudo apt update
sudo apt -y upgrade
cd Baixades
tar -xzvf android-studio-2024.3.1.13-linux.tar.gz
cd android-studio/bin
./studio.sh
- Acceptem les polítiques i condicions:
- I ja podem començar la instal·lació prenent el botó Finish:
Ens apareix aquesta pantalla amb l'opció de crear un nou projecte o carregar un ja creat:
Per fer una demo de com funciona, farem un nou projecte a partir d'una plantilla proporcionada pel programa anomenada "Bottom Navigation Views Activity", la seleccionem i prenem el botó Next:
Anomenem el projecte com Isard App 1, i el nom del paquet com a com.isard.isardapp1
El primer cop que carreguem la nostra aplicació, aquesta trigarà més perquè ha de descarregar tots els paquets i dependències pel correcte funcionament. Les següents vegades, no caldrà esperar el mateix temps.
Podem veure el codi principal:
I el layout, on es mostra com quedaria el resultat visual de l'aplicació:
Un cop instal·lat el programa i creat el projecte sortim d'Android Studio.
Emulador¶
Per aconseguir un rendiment més àgil i ràpid, executem l'emulador dins d'un contenidor.
- Instal·lem Docker:
sudo apt update sudo apt-get remove --purge -y docker docker-engine docker.io docker-ce docker-ce-cli containerd containerd.io docker-buildx-plugin docker-compose-plugin runc && sudo apt-get autoremove -y && sudo apt-get autoclean 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
Segons el que vulguem fer canviarem l'ordre a executar. En aquesta demostració utilitzarem la versió 14.0 de l'emulador, i farem servir el dispositiu "Samsung Galaxy S10". I perquè l'estat de l'emulador es guardi, muntarem un volum.
Creem un script que engegarà l'emulador al navegador Firefox cada cop que s'executi (podeu canviar-ho pel de preferència):
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
Enllaços d'interès:
En aquest projecte de GitHub podem trobar la imatge de docker per engegar l'emulador:
I el següent llistat de dispositius que es poden engegar:
Utilització¶
La primera vegada que obrim l'emulador és normal que trigui més temps. Tanmateix, en les següents ocasions, en guardar-ne l'estat, s'evita repetir tot el procés d'inici, i podrem executar la nostra aplicació directament.
Per poder executar una aplicació d'Android Studio a l'emulador hem de seguir els següents passos:
-
Engegar l'emulador, executant l'script que hem programat.
bash ./emulador_Samsung-Galaxy-S10.sh
-
Obrir el programa Android Studio. Des de la barra de navegació de programes o per terminal executant ./studio.sh a la carpeta /Ruta/de/Descàrrega/android-studio/bin
-
Si entrem al nostre projecte, a la barra lateral dreta, hi haurà una secció anomenada "Device Manager", on hi ha d'aparèixer el dispositiu que hem engegat en el contenidor com en la següent imatge:
-
Fem els canvis que vulguem a l'aplicació i l'executem amb el botó de 'Run'.
I ja ha d'aparèixer la nostra aplicació dins l'emulador.
Quan hàgim acabat de treballar i vulguem apagar l'emulador, hem de seguir els passos següents:
-
Prenem a la creu que es troba a la barra lateral dreta de la interfície de l'emulador:
Ens apareixerà un missatge indicant que s’està desant l’estat de l’emulador:
-
Esborrem el contenidor:
sudo docker rm -f android-container
A continuació, si voleu tornar a engegar l'emulador, s'ha de repetir el mateix procés d'aquest apartat. Els següents cops, l'emulador ja iniciarà posat en marxa, amb l'estat que es va deixar quan es va apagar, encara que sigui reiniciat l'escriptori virtual.