marzo 13, 2025 Eryalito

Un paso hacia el futuro de la computación móvil y la seguridad.

Desde que Android llegó a nuestras vidas de las manos de Google, hace ya más de 15 años, la comunidad ha hecho todo lo posible por exprimir al máximo el potencial de nuestros dispositivos. El sueño de todo apasionado por la tecnología siempre ha sido poder utilizar nuestro dispositivo móvil para la mayor cantidad de cosas posible. En la versión 16 de Android se esperaba introducir una funcionalidad que puede revolucionar el mundo de la computación móvil -la virtualización-, esto no es una noticia nueva, pero Google ha sorprendido haciendo un port de esta funcionalidad a Android 15 y liberándola para algunos dispositivos Pixel, estando ya disponible para el público en general.

Virtualización en Android, un futuro con muchas posibilidades

Un poco de historia

Android es un sistema operativo móvil basado en el kernel de Linux. Es decir, podemos imaginar Android como un conjunto de software que se está ejecutando en un Linux. Eso nos da una idea de todos los proyectos disparatados que han ido surgiendo a lo largo de los años, desde acceder al kernel de Linux -el llamado root- a crear servidores o directamente cambiar el propio sistema operativo Android.

Por la naturaliza de ser un sistema operativo centrado principalmente en dispositivos móviles se ha orientado siempre hacia la seguridad, tanto en los datos como en la ejecución de aplicaciones. En cada una de las versiones que han salido se han ido introduciendo mejoras en este aspecto: gestión de permisos para acceso a dispositivos (cámara, micro, ubicación, etc), limitación de acceso a datos y separación de ejecución de las aplicaciones. Esto significa que dentro de nuestro sistema operativo Android cada aplicación está completamente separada de todas las demás.

¿Qué es la virtualización y por qué es importante?

La virtualización es una tecnología ampliamente utilizada en todos los rincones de la tecnología. Esta tecnología lo que permite es poder ejecutar un sistema operativo dentro de otro. A este sistema operativo virtual se le llama máquina virtual. Existen muchas herramientas que permiten usar esta tecnología en dispositivos tradicionales como son los ordenadores: VirtualBox, VMWare, Proxmox, etc. Pero hasta ahora, pese a existir una tecnología para crear máquinas virtuales en Linux, no existía una forma nativa de utilizar esta tecnología dentro del kernel de Linux utilizado por Android.

Este mecanismo es importante en la tecnología moderna ya que es sobre la que se basan casi todos los servicios que utilizamos a día de hoy de forma directa o indirecta. La virtualización es la base del cloud y está presente en muchos servicios. Es ampliamente utilizada por su versatilidad, pudiendo crear un ordenador virtual con el sistema operativo y configuración que sea necesaria para la aplicación que queremos ejecutar. Esto a su vez proporciona no solo comodidad, si no que también una capa extra de seguridad, al separar completamente no solo la aplicación de otras si no también el sistema operativo sobre el que se ejecuta.

Virtualización en Android

La idea de tener virtualización en Android no es nueva. Desde el inicio, ya que se trata de un sistema operativo construido sobre el kernel de Linux, las herramientas para conseguirlo han existido, pero no era sencillo y no funcionaba del todo bien en términos de eficiencia y conseguirlo requería de conocimientos sobre el funcionamiento de Android.

Con la nueva tecnología la virtualización será mucho más simple, estando directamente integrada en el sistema operativo. Se han basado en una tecnología nativa de Android, llamada Android Virtualization Framework que permite lanzar máquinas virtuales saltándose la capa de Android y accediendo directamente al kernel Linux. Esto permite que para un usuario lanzar una máquina virtual sea tan sencillo como lanzar una aplicación. Y ya está disponible una primera versión que podemos usar.

Hay que tener en cuenta que esta funcionalidad es todavía experimental y por lo que hemos podido probar y pese a funcionar y ser muy prometedora está limitada. Actualmente solo se puede ejecutar un único tipo de sistema operativo con una configuración específica.

Futuro de la virtualización en Android

Por el momento la utilidad se limita a tener un sistema operativo Linux basado en Debian. Puede parecer excitante para gente interesada en la tecnología, pero con poco uso práctico para los usuarios en general. No está claro cual será el uso que se le acabe dando a esta funcionalidad de cara al público en general, pero podemos imaginar posibilidades si los desarrolladores de aplicaciones para Android podrán acceder a esta funcionalidad.

Aplicaciones extendidas

El mundo de desarrollo de aplicaciones para Android siempre ha estado limitado a la tecnología de ejecución de aplicaciones que tiene. Es decir, las aplicaciones tienen que estar desarrolladas en lenguajes Java o Kotlin. La virtualización podría cambiar totalmente el escenario, permitiendo a los desarrolladores crear aplicaciones en el lenguaje y formato que deseen. Esto permitiría incluso portar aplicaciones ya existentes para sistemas de escritorio.

Escritorio remoto

Pudiendo ejecutar sistemas operativos completos es sencillo imaginar un futuro en el que llevemos sistemas operativos de escritorio como Windows o Linux en nuestro bolsillo. Tan sencillo como sentarnos en el escritorio, conectar el cable USB y tener un ordenador funcional, con pantalla, teclado y ratón.

Hay que tener en cuenta también que muchos televisores a día de hoy utilizan Android como sistema operativo. Esto podría implicar que podamos transformar una televisión con Android en un ordenador funcional de forma nativa!

📁 No te pierdas – [¿Qué es una CDN? Content Delivery Network Explicado]

Servidores gracias a la virtualización en Android

Desde hace años han aparecido formas de utilizar dispositivos Android como servidores, por ejemplo para tener nuestro servidor de minecraft siempre disponible. Esto sería mucho más sencillo, pudiendo obviar las limitaciones de Android y seleccionando un sistema operativo con los requisitos que necesitemos.

Servidor para la virtualización en Android

Seguridad

La ejecución de aplicaciones en Android ya es considerablemente segura pero tiene una limitación básica, todas las aplicaciones se ejecutan sobre el mismo sistema operativo. Con la virtualización las aplicaciones se podrían ejecutar en diferentes instancias de Android, aislando de verdad no solo las aplicaciones unas de otras si no que también aislando su entorno de ejecución de los demás.