Android es un sistema operativo basado en el núcleo de Linux y desarrollado para dispositivos móviles. Por ese motivo, esta enfocado para la arquitectura ARM que ofrece menos consumo energético en comparación con x86 y de esa forma aumentar la autonomía de batería.
Virtualizar Android oficial no es posible en procesadores x86, la única posibilidad es emularlo con Android Studio o aplicaciones como BlueStacks. Aunque existen proyectos no oficiales que han portado Android Open Source Project para la arquitectura x86. Por ejemplo, los proyectos más reconocidos son Android x86 y Android Generic Project.
Por lo tanto, es posible instalarlo o virtualizarlo en equipos de sobremesa o servidores con arquitectura x86 o x86_64. Este artículo explicará como virtualizar Android x86 para reproducirlo en vivo o instalarlo en una imagen de disco con KVM en un servidor Ubuntu o Debian utilizando QEMU.
Instalación de QEMU
Primero, comprueba que tu procesador tiene activada la virtualización*:
# egrep 'vmx|svm' /proc/cpuinfo
En caso afirmativo, actualiza los repositorios e instala QEMU x86 (Debian/Ubuntu):
# apt update && apt install qemu-system-x86 -y
Posteriormente, comprueba que soporta la virtualización KVM:
# kvm-ok
Debe mostrar el siguiente resultado:
INFO: /dev/kvm exists
KVM acceleration can be used
*Dependerá de la marca del procesador, con Intel debe aparecer "vmx" y con AMD "svm".
Descargar Android x86 y virtualizarlo con QEMU
Luego descarga la imagen Android x86 correspondiente:
# wget -P /root "https://sourceforge.net/projects/blissos-dev/files/Android-Generic/PC/aosp/gapps/12/android_x86_64-a12_r27-03.04.22-01-mesa22-ksu-gapps-treble-libndk-sleep-sd-libva.iso"
# wget -P /root "https://jztkft.dl.sourceforge.net/project/blissos-dev/Android-Generic/PC/aosp/stock/11/AG-11--x86_64-202106131243_k-kernel-5.4_m-x86.iso"
# wget -P /root "https://sourceforge.net/projects/blissos-dev/files/Android-Generic/PC/aosp/gapps/10/android_x86_64-202006261436_k-kernel-5.7_si_ylng_m-android-10.0.0_r37_dgc-q-x86-atom_ld-android-10.0.0_r37_dg-android-10.0.0_r37_dh-q10.0-x86_mg-_gms_cros-wv.iso"
# wget -P /root "https://osdn.net/frs/redir.php?m=gigenet&f=android-x86%2F71931%2Fandroid-x86_64-9.0-r2.iso"
# wget -P /root "https://osdn.net/frs/redir.php?m=nchc&f=android-x86%2F69704%2Fandroid-x86_64-8.1-r6.iso"
# wget -P /root "https://osdn.net/frs/redir.php?m=nchc&f=android-x86%2F67834%2Fandroid-x86_64-7.1-r5.iso"
# wget -P /root "https://osdn.net/frs/redir.php?m=rwthaachen&f=android-x86%2F65890%2Fandroid-x86_64-6.0-r3.iso"
Puedes utilizar Android en vivo, pero si prefieres instalarlo deberás crear un disco de mínimo 5 GB (mínimo recomendado 8 GB):
# qemu-img create android.img 8G
Una vez realizarlo, podrás directamente virtualizar Android. Para ello simplemente ejecuta QEMU con la ISO de Android y el disco creado. Aunque para acceder utiliza la opción de VNC que incorpora:
# qemu-system-x86_64 -net nic -net user -m 1024 -enable-kvm -drive file=/root/android.img,format=raw -vnc 127.0.0.1:0 -cdrom /root/*x86*.iso -boot d
Como habrás observado en el comando, VNC únicamente escuchará localmente y es recomendable por seguridad. El tráfico no estará cifrado ni tampoco hay control de acceso y no es seguro publicarlo a internet. Por lo tanto, para acceder por VNC puedes realizar un túnel con OpenSSH. Abre otra conexión SSH con el servidor Ubuntu y redirige el puerto del VNC:
# ssh root@direcciónIPservidor -L 5900:localhost:5900
De esa forma, podrás abrir directamente un cliente VNC y conectarte a localhost para instalar o reproducir en vivo Android:
Si instálalas finalmente Android x86 en la imagen de disco creado, no será necesario ejecutar QEMU con la ISO de nuevo. Por lo tanto, simplemente ejecuta lo siguiente la próxima vez:
# qemu-system-x86_64 -net nic -net user -m 1024 -enable-kvm -drive file=/root/android.img,format=raw -vnc 127.0.0.1:0
Aunque también recuerda crear una conexión SSH para el forwarding del VNC para cuando quieras conectarte con una nueva sesión SSH:
# ssh root@direcciónIPservidor -L 5900:localhost:5900
Esperamos haberte ayudado con este tutorial. ¿Lo has probado? ¡Déjanos tus comentarios! 🙂
Recuerda, si tienes consultas sobre esta u otra cuestión relacionada con tus servidores en Clouding, no dudes en escribir a soporte@clouding.io ¡Estamos a tu lado para lo que necesites!