KVM Android Studio (imagen destacada)

Tiro monedas al aire, pero hasta ahora nunca las pude agarrar.

Muchos desarrolladores de Android en GNU/Linux utilizan el emulador de Android para probar sus aplicaciones, pero se encuentran que es bastante lento. En este post les voy a mostrar como solucionar este gran inconveniente y poder desarrollar aplicaciones móviles de forma más placentera.

Obs:

  •  Utilizo Debian Buster de 64 bits, pero pueden utilizar cualquier distro.
  •  Utilizo Android Studio 4.0
  •  Asumo que ya tienen instalado el SDK de Android con un emulador como mínimo para poder hacer la prueba.

Para poder acelerar el emulador de Android en GNU/Linux DEBEN de instalar KVM.

KVM (Kernel virtual Machine) es una solución de virtualización completa para GNU/Linux en el hardware x86 con extensiones de virtualización (Intel-VT o AMD-V). Para virtualizar Sistemas Operativos o emuladores que en este caso serían los de Android.

Lo primero que vamos a identificar es si nuestro procesador soporta KVM, los de Intel le llaman Intel-VT y los de AMD le llaman AMD-V. Con los nuevos procesadores que están en el mercado casi seguro que ya soportan virtualización por hardware.
La forma de identificarlos es distinta, para ver si tu procesador soporta virtualización por Kernel, vamos a buscar en las flags del procesador.
Para Intel, tecleamos en la terminal:

grep --color vmx /proc/cpuinfo

Debe aparecer en rojo un montón de palabras, entre ellas, la palabra vmx.
En el caso de AMD el procedimiento es similar. Tecleamos en la terminal:

grep --color svm /proc/cpuinfo

Debe aparecer en rojo un montón de palabras, entre ellas, la palabra svm.
Si aparece en tu caso uno de los dos resultados, dependiendo de tu procesador, podes instalarlo para poder disfrutar la aceleración de los emuladores de Android.

Te recomiendo a que instales KVM y que sigas con el post. Caso contrario no vas a poder acelerar tu emulador de Android.

Ahora instalaremos los paquetes necesarios, entramos en la terminal y tecleamos:

sudo apt update
sudo apt install aptitude
sudo aptitude install python3-libxml2

Sale por pantalla:

Las acciones siguientes resolverán estas dependencias

     Mantener los paquetes siguientes en la versión actual:
1)     python3-libxml2 [Sin instalar]                      


¿Acepta esta solución? [Y/n/q/?]n
Las acciones siguientes resolverán estas dependencias

     Instalar los paquetes siguientes:            
1)     python3-libxml2 [2.9.4+dfsg1-7+b3 (stable)]


¿Acepta esta solución? [Y/n/q/?]

Se presiona dos veces Y.

Volvemos a teclear en la terminal:

sudo apt install qemu qemu-kvm qemu-system qemu-utils bridge-utils libvirt-clients libvirt-daemon-system virtinst virt-viewer virt-manager libguestfs-tools libosinfo-bin -y
sudo apt clean && sudo apt autoclean

Para agregar al usuario que queremos que use la virtualización. En este caso usamos proyectosbeta, pero pueden elegir cualquiera. Tecleamos en la terminal:

sudo adduser proyectosbeta libvirt
sudo adduser proyectosbeta libvirt-qemu
sudo adduser proyectosbeta kvm
newgrp libvirt
newgrp libvirt-qemu
newgrp kvm

Sería bueno cargar el módulo por si las moscas:
Para Intel, tecleamos en la terminal:

sudo modprobe kvm-intel

Para AMD, tecleamos en la terminal:

sudo modprobe kvm-amd

Antes de poder ver la aceleracion del emulador de Android se debe de reiniciar el sistema. Tecleamos en la terminal:

sudo reboot

OBS:

  •  Ser usuario proyectosbeta.

Luego de reiniciar podemos continuar. Verificamos que el servicio este activo:

sudo systemctl status libvirtd

Sale por pantalla:

● libvirtd.service - Virtualization daemon
   Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-05-02 18:34:31 -04; 1min 43s ago
     Docs: man:libvirtd(8)
           https://libvirt.org
 Main PID: 1066 (libvirtd)
    Tasks: 17 (limit: 32768)
   Memory: 34.2M
   CGroup: /system.slice/libvirtd.service
           └─1066 /usr/sbin/libvirtd

may 02 18:34:31 pantanoNegro systemd[1]: Starting Virtualization daemon...
may 02 18:34:31 pantanoNegro systemd[1]: Started Virtualization daemon.

No necesitan crear una máquina virtual para utilizar KVM con los emuladores de Android.

Ahora ya podremos entrar a Android Studio y ejecutar un emulador. Verán lo rápido inicia.

Emulador Android en Debian Buster
Emulador Android en Debian Buster

Comments

comments


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *