Uso de Waydroid para instalar apps Android en Ubuntu Touch

  • Waydroid ejecuta un sistema Android completo en un contenedor Linux, integrando apps Android con Ubuntu y Ubuntu Touch sin recurrir a máquinas virtuales pesadas.
  • En Ubuntu Touch, los dispositivos Halium 9 o superiores traen Waydroid preinstalado, permitiendo inicializarlo fácilmente y gestionar APKs y tiendas como F-Droid desde la terminal.
  • La compatibilidad no es total: algunas apps (banca, servicios con Play Integrity) pueden no funcionar y el uso de Waydroid incrementa el consumo de batería y posibles conflictos de hardware.
  • El ecosistema se apoya en tecnologías libres (LXC, namespaces, LineageOS, microG) y cuenta con una comunidad activa que corrige errores y mejora la integración con Ubuntu Touch.

cómo usar Waydroid para instalar apps Android en Ubuntu Touch

Si usas Ubuntu Touch y te gustaría instalar y ejecutar aplicaciones Android de forma fluida, es muy probable que ya hayas oído hablar de Waydroid. La idea de tener tus apps favoritas de Android incrustadas en tu móvil o tablet con Ubuntu resulta muy tentadora, pero cuando te pones a ello empiezan a surgir preguntas: requisitos, rendimiento, compatibilidades, consumo de batería o cómo instalar APK sin morir en el intento.

En las próximas líneas encontrarás una guía completa para entender y aprovechar Waydroid en Ubuntu Touch, desde qué es exactamente esta herramienta, cómo se integra con el sistema, qué limitaciones tiene y cómo instalar y gestionar aplicaciones Android (incluyendo tiendas como F-Droid). Todo explicado en español de España, con un lenguaje cercano, pero sin dejar de lado los aspectos técnicos importantes que marcan la diferencia.

¿Qué es Waydroid y cómo funciona sobre Ubuntu y Ubuntu Touch?

Waydroid es, en pocas palabras, un entorno Android completo que se ejecuta dentro de un contenedor Linux. No se trata de un emulador clásico ni de una máquina virtual pesada: es una capa de compatibilidad que integra Android con sistemas GNU/Linux, como Ubuntu de escritorio, Ubuntu Touch o distribuciones derivadas (Debian, Droidian, UBports, etc.).

Este proyecto nació como la evolución de Anbox-Halium, una variante de Anbox optimizada para teléfonos Linux. La idea era aprovechar mucho más el hardware nativo del dispositivo host, reduciendo las capas intermedias. Gracias a ello, las aplicaciones Android se ejecutan con un rendimiento mucho más cercano al nativo, lo que se traduce en menos lag y una experiencia bastante más fluida que con una máquina virtual tradicional.

Para lograrlo, Waydroid se apoya en tecnologías estándar de contenedores en Linux, especialmente los namespaces (user, pid, uts, net, mount, ipc). Estos espacios de nombres permiten aislar procesos, usuarios, red y otros recursos, de forma que el Android “encerrado” en el contenedor funciona como un sistema independiente, pero compartiendo el mismo kernel que el resto de la distribución.

La gestión del contenedor se realiza con LXC (Linux Containers), una herramienta muy madura para administrar entornos contenerizados. Sobre ese kernel Linux se cargan módulos específicos como binder_linux y ashmem_linux, que son fundamentales para que Android pueda ejecutarse correctamente sin necesitar un kernel “especial” separado.

qué es la capa de compatibilidad Lepton para Android
Artículo relacionado:
Qué es Lepton, la capa de compatibilidad de Valve para Android

En la práctica, esto significa que el sistema Android que corre dentro de Waydroid tiene un acceso bastante directo a tu hardware: gráficos, entrada táctil, audio, etc. No se simula la CPU ni se recrea todo el hardware como haría un emulador genérico; se reutiliza directamente lo que ofrece el propio núcleo Linux del dispositivo. Por eso el rendimiento es muy superior al de una máquina virtual tradicional.

La imagen del sistema Android que utiliza Waydroid suele estar basada en LineageOS, normalmente alrededor de Android 10. Se trata de una imagen minimalista pero completa, adaptada para ejecutarse dentro de un contenedor y ofrecer lo justo y necesario para correr aplicaciones Android de todo tipo.

En el caso concreto de Ubuntu Touch, Waydroid está diseñado para trabajar sobre sesiones basadas en el protocolo Wayland. Esta es una condición clave: la integración y la forma en que las ventanas Android se dibujan y conviven con el resto del entorno dependen de Wayland. En equipos de escritorio con Ubuntu, esta misma exigencia se mantiene: si no estás bajo Wayland, Waydroid directamente no va a funcionar como debe.

Ventajas de Waydroid: integración casi nativa de apps Android

Una de las grandes bazas de Waydroid es la integración muy natural de las aplicaciones Android con el entorno de escritorio o la interfaz táctil. No estás simplemente “abriendo un móvil dentro del móvil”; las apps Android pueden convivir con las aplicaciones nativas de Linux de forma bastante transparente.

Por ejemplo, puedes tener tu navegador nativo de Ubuntu Touch abierto a la vez que una app Android de mensajería o un juego, e ir cambiando entre ellas de una manera muy similar a como lo harías en un smartphone Android convencional. Esta convivencia en paralelo es una de las características estrella del proyecto.

Waydroid también permite que los accesos directos de las aplicaciones Android aparezcan en el menú estándar o listado de apps de Ubuntu. En Ubuntu Touch esto implica que, tras inicializar Waydroid, verás nuevos iconos de aplicaciones Android mezclados con las apps del sistema. Si no se muestran de inmediato, basta con recargar el “scope” de aplicaciones (deslizar hacia abajo desde el centro de la pantalla y soltar) para que se refresque la lista.

Otra funcionalidad muy interesante es la ejecución de apps Android en modo ventana múltiple. Las ventanas se adaptan al estilo visual de tu entorno de escritorio, lo que es especialmente útil en tablets o dispositivos donde buscas una experiencia más cercana a un PC. Puedes recolocar y redimensionar ventanas Android junto a programas nativos, ganando bastante comodidad.

Para quienes usan el dispositivo como consola portátil o centro multimedia, Waydroid ofrece un modo de pantalla completa para las aplicaciones Android. Esto es ideal para juegos o para contenidos de vídeo, ya que aprovecha por completo la pantalla sin tener que convivir con barras o marcos adicionales del sistema.

Si prefieres una experiencia más clásica, también existe un modo en el que se muestra la interfaz completa de Android. Ahí tendrás tu propia pantalla de inicio y cajón de aplicaciones, como si estuvieras utilizando un móvil Android dentro de tu Ubuntu Touch, sin necesidad de limitarte solo a ventanas sueltas.

Requisitos técnicos y entorno soportado

Waydroid para instalar apps Android en Ubuntu Touch

Para que Waydroid funcione como es debido, debes cumplir una serie de requisitos técnicos que conviene respetar al pie de la letra. Saltarse alguno suele acabar en errores difíciles de depurar.

El primer requisito fundamental es el uso de Wayland como protocolo de sesión gráfica. En sistemas de escritorio, si arrancas Ubuntu bajo X11 y pretendes lanzar Waydroid, te vas a encontrar con problemas directamente. Para Ubuntu Touch y otros sistemas móviles basados en Halium la sesión ya está montada sobre Wayland, así que esta parte viene resuelta de fábrica.

En equipos GNU/Linux de escritorio, además, es necesario contar con Python 3 instalado. No suele ser un inconveniente porque prácticamente todas las distribuciones actuales lo traen de serie, pero es una dependencia que el kit de herramientas de Waydroid necesita para funcionar.

Otro componente crucial es LXC, la tecnología de contenedores que utiliza Waydroid. Antes de instalar Waydroid en un Ubuntu de escritorio, por ejemplo, hay que asegurarse de que LXC está correctamente instalado. En una instalación típica de Ubuntu, el comando para hacerlo sería algo así como:

sudo apt install lxc

Sin ese paquete, Waydroid no será capaz de crear y gestionar el contenedor de Android, así que merece la pena revisar que está presente desde el principio para ahorrarse reinstalaciones posteriores.

En cuanto a la distribución, Waydroid ofrece repositorios preparados para varias versiones de Ubuntu y Debian. Por ejemplo, existen paquetes para Ubuntu 20.04 (focal), 21.04 (hirsute) y para Debian 11, así como para sistemas derivados como Droidian o UBports. La forma de añadir el repositorio es definir primero una variable con la versión, obtener la clave GPG y registrar la fuente:

export DISTRO="hirsute"
curl https://repo.waydro.id/waydroid.gpg > /usr/share/keyrings/waydroid.gpg && \
echo "deb [signed-by=/usr/share/keyrings/waydroid.gpg] https://repo.waydro.id/ $DISTRO main" > /etc/apt/sources.list.d/waydroid.list && \
sudo apt update

Con el repositorio ya disponible, la instalación en Ubuntu de escritorio se reduce a un simple sudo apt install waydroid. A partir de ahí, se inicializa y se arranca el contenedor con unos pocos comandos, como sudo waydroid init y sudo systemctl start waydroid-container.

En Ubuntu Touch la situación es algo distinta: todos los dispositivos basados en Halium 9 o superior, a partir de la base focal, traen Waydroid preinstalado. Es decir, no tienes que añadir repositorios manualmente ni instalar paquetes extra: basta con inicializarlo desde la terminal para que descargue la imagen de Android y quede listo para usar.

Waydroid en Ubuntu Touch: puesta en marcha básica

Si tu teléfono o tablet con Ubuntu Touch es relativamente moderno y está basado en Halium 9 o superior, lo normal es que Waydroid ya esté en el sistema esperando a que lo inicies por primera vez. La activación inicial se hace desde una shell en el dispositivo.

Para abrir esa shell tienes varias opciones: conectarte por ADB desde tu PC, usar SSH si lo tienes habilitado o recurrir a la app de terminal incluida en Ubuntu Touch. Cualquiera de esos métodos te sirve para obtener una línea de comandos en la que escribir los comandos de Waydroid.

Una vez abierta la shell, el paso clave es ejecutar el comando de inicialización:

waydroid init

Este proceso descarga la imagen de Android, crea el contenedor e instala todo lo necesario para que el entorno quede preparado. Puede tardar un poco, dependiendo de tu conexión y del rendimiento del dispositivo, así que paciencia.

Al finalizar, basta con recargar la lista de aplicaciones de Ubuntu Touch para comprobar si ya aparecen iconos de apps Android. Si no los ves de primeras, desliza hacia abajo desde la mitad de la pantalla en la vista de aplicaciones y suelta para que se refresque. A partir de ese momento, las apps Android que vayas instalando se irán añadiendo a ese mismo listado.

Instalación y reinicio de Waydroid en Ubuntu de escritorio

En una instalación de escritorio con Ubuntu o Debian, además de los requisitos ya comentados, el flujo básico para poner Waydroid en marcha es relativamente directo. Una vez añadido el repositorio y actualizado el índice de paquetes, se procede a instalar Waydroid con apt:

sudo apt install waydroid

A continuación se ejecuta la inicialización del contenedor Android con:

sudo waydroid init

Cuando la imagen está preparada, hay que arrancar el servicio del contenedor mediante systemd:

sudo systemctl start waydroid-container

En caso de que algo salga mal porque, por ejemplo, no instalaste antes LXC o cometiste algún error de configuración, siempre puedes optar por eliminar y reinstalar Waydroid desde cero. Para ello, se detienen primero la sesión y el contenedor:

waydroid session stop
sudo waydroid container stop

Después se desinstala el paquete con:

sudo apt remove waydroid

Y por último se borra la carpeta de datos del contenedor para dejar todo limpio:

sudo rm -rf /var/lib/waydroid

Tras este proceso, puedes repetir la instalación asegurándote de cumplir todos los requisitos previos, empezando por LXC, y volver a ejecutar sudo waydroid init y el arranque del servicio de contenedor.

Guía de Web Apps para Ubuntu Touch: Amplía tu catálogo de apps
Artículo relacionado:
Android 14 vs Ubuntu Touch: rendimiento real en el mismo móvil

Instalar aplicaciones Android (APKs) en Waydroid sobre Ubuntu Touch

Una vez que Waydroid está inicializado, el siguiente paso lógico es instalar tus propias aplicaciones Android en forma de archivos APK. En Ubuntu Touch esto se hace también desde la línea de comandos, pero el procedimiento es bastante sencillo.

Lo primero es copiar el APK al dispositivo en una ruta accesible. La carpeta típica suele ser:

/home/phablet/Downloads

Puedes llevar el archivo hasta ahí de muchas maneras: descargándolo directamente desde el navegador del móvil, pasándolo por USB desde el ordenador, usando ADB para empujarlo o mediante cualquier otra herramienta con la que te sientas cómodo.

Cuando el APK esté en su sitio, abre de nuevo una shell en el dispositivo (por ADB, SSH o la app de terminal) y utiliza el comando específico de Waydroid para instalar aplicaciones, indicando la ruta completa del archivo:

waydroid app install /home/phablet/Downloads/mi-aplicacion.apk

Si el archivo es válido y compatible, la instalación se completará y al poco tiempo deberías ver el icono de la app Android en la lista de aplicaciones de Ubuntu Touch. Igual que antes, si no aparece inmediatamente, refresca el listado arrastrando hacia abajo desde el centro de la pantalla.

Uso de tiendas de aplicaciones: F-Droid, Amazon Appstore y más

Instalar APK a mano funciona, pero es mucho más cómodo tener una tienda de aplicaciones dentro de Waydroid para gestionar instalaciones y actualizaciones. En un entorno sin certificación de Google, las opciones más habituales suelen ser F-Droid y Amazon Appstore, entre otras tiendas alternativas.

F-Droid destaca porque ofrece un catálogo de aplicaciones libres y de código abierto (FOSS). No exige una cuenta de Google ni depende de los servicios propietarios de la compañía, lo que encaja perfectamente con la filosofía de Ubuntu Touch y del software libre en general. Para instalarla, basta con descargar su APK desde la web oficial o con una herramienta como wget, y luego usar el comando de Waydroid:

wget https://f-droid.org/F-Droid.apk
waydroid app install F-Droid.apk

Una vez que tengas instalada F-Droid (o cualquier otra tienda alternativa), podrás buscar aplicaciones, instalarlas y mantenerlas actualizadas desde una interfaz gráfica Android. Eso sí, debido a la naturaleza de Waydroid, estas tiendas no van a actualizar las apps de manera completamente automática: tendrás que abrir periódicamente la tienda, comprobar si hay actualizaciones y confirmar la instalación de cada una.

El flujo general suele ser el mismo: buscar la app, pulsar en instalar o actualizar, esperar a que se descargue y aceptar el cuadro de diálogo de instalación que muestra el propio Android dentro de Waydroid. Es un poco más manual que en un móvil Android certificado, pero perfectamente utilizable.

Para usuarios avanzados existe la posibilidad de crear imágenes personalizadas de Waydroid que ya incluyan preinstalada una tienda de aplicaciones concreta. De este modo, se puede desplegar el entorno Android sobre varios dispositivos sin tener que repetir manualmente la instalación de F-Droid o de cualquier otra tienda en cada uno de ellos.

Desinstalar aplicaciones Android y gestionar el espacio

Cuando dejes de usar una app Android, conviene desinstalarla para liberar almacenamiento y reducir posibles conflictos. En Ubuntu Touch con Waydroid, esta tarea también se realiza desde la shell del dispositivo.

Primero abre una terminal (por ADB, SSH o la app de terminal del propio Ubuntu Touch) y luego utiliza los comandos de Waydroid para listar y eliminar aplicaciones. Por ejemplo, puedes ver las apps instaladas con:

waydroid app list

Ese comando te mostrará los identificadores de las aplicaciones (APP_ID), que son los que necesitas para desinstalar. Una vez localizado el que te interesa, puedes ejecutar:

waydroid app remove [APP_ID]

Otra alternativa, si tienes ADB configurado, es recurrir al comando:

adb uninstall [APP_ID]

Tras eliminar la app por cualquiera de estos métodos, puede que el icono tarde un poco en desaparecer de la lista de Ubuntu Touch. En tal caso, recarga el listado de aplicaciones arrastrando hacia abajo desde la vista de apps para forzar la actualización.

Acceso al almacenamiento interno de Android desde Ubuntu Touch

En algunos escenarios es muy útil poder acceder directamente a los archivos del entorno Android de Waydroid para realizar copias de seguridad, mover datos o inspeccionar lo que se ha descargado.

El almacenamiento interno que ve Android suele estar ubicado en una ruta similar a esta:

/home/phablet/.local/share/waydroid/data/media/0

Desde Ubuntu Touch puedes navegar por esa carpeta con un gestor de archivos o desde la terminal, copiar ficheros, sincronizar datos con otras apps o simplemente echar un vistazo a lo que está guardado. Es prácticamente el equivalente al “almacenamiento interno” de un móvil Android normal, pero accesible desde la capa Linux.

Limitaciones importantes: batería, compatibilidades y hardware

Aunque Waydroid es una herramienta potentísima, es importante tener muy presentes sus limitaciones antes de lanzarse a usarlo a diario. No todo son ventajas y conviene saber dónde están las posibles piedras en el camino.

La primera limitación que muchos usuarios notan es un aumento del consumo de batería cuando Waydroid está activo. Al fin y al cabo, se está ejecutando un sistema Android entero en paralelo a Ubuntu Touch, con sus servicios y procesos. Si quieres ahorrar batería, lo recomendable es detener Waydroid cuando no lo necesites.

También debes asumir que no todas las apps Android funcionarán en Waydroid. En particular, las aplicaciones que dependen fuertemente de servicios como Google Play Integrity o SafetyNet (banca online, algunos servicios de pago, apps muy sensibles desde el punto de vista de seguridad) suelen verificar que el dispositivo esté certificado por Google y que tenga los servicios oficiales de Play instalados.

Como en Ubuntu Touch con Waydroid no dispones de un entorno certificado ni de Play Store de forma oficial, muchas de esas aplicaciones se negarán a funcionar o mostrarán errores. Esto también puede afectar a programas que requieran dispositivos concretos certificados por Google o funciones muy ligadas al ecosistema propietario de la compañía.

Otro aspecto a considerar es el posible conflicto en el uso de periféricos entre Ubuntu Touch y Waydroid. Si ambos sistemas intentan acceder al mismo tiempo a la cámara, al micrófono u otros dispositivos, puede ocurrir que uno de ellos se quede sin acceso. No es raro encontrarse con apps Android que se quejan de no poder usar la cámara porque está ocupada por el sistema principal.

Para quienes necesitan funcionalidades parecidas a las que ofrece Google Play Services, existe microG, una implementación libre de esos servicios. En algunos casos, integrarlo en Waydroid puede mejorar la compatibilidad con ciertas apps, pero no es una solución mágica: las aplicaciones que exijan verificaciones estrictas de integridad o certificación seguirán dando problemas.

Solución de problemas con la instalación de APKs y uso diario

Uno de los errores más frecuentes al instalar aplicaciones en Waydroid es encontrarse con el mensaje “Invalid APK file” al ejecutar el comando de instalación. A primera vista suena a archivo corrupto, pero muchas veces el problema es algo mucho más sencillo.

La causa más habitual es que el sistema no encuentra el archivo APK en la ruta que se ha indicado. Puede deberse a un error tipográfico en el nombre, a que estás ejecutando el comando desde un directorio diferente o a que has olvidado poner la ruta completa. Para evitar este tipo de fallos, es recomendable usar siempre la ruta absoluta, por ejemplo:

waydroid app install /home/phablet/Downloads/mi-aplicacion.apk

Si aun así sigue apareciendo el error, entonces sí es posible que el APK esté dañado, incompleto o no sea compatible con la arquitectura de tu dispositivo. En ese caso, lo mejor es volver a descargarlo desde una fuente fiable o buscar otra versión adaptada a tu hardware (ARM, ARM64, etc.).

Para uso diario también pueden surgir pequeños fallos de integración o cuelgues puntuales. En muchos casos, reiniciar el contenedor de Waydroid soluciona bastantes incidencias. En Ubuntu de escritorio, por ejemplo, puedes hacerlo con:

sudo systemctl restart waydroid-container

Si el problema persiste o parece más profundo, es buena idea revisar los registros, buscar incidencias similares y, llegado el caso, reportar el bug al proyecto correspondiente.

Google Play Store, servicios de Google y opciones alternativas

Un punto delicado en todo este asunto es la ausencia de Google Play Store y de los servicios propietarios de Google en Waydroid. Google mantiene una lista cerrada de dispositivos certificados, y cuando un sistema no forma parte de esa lista, bloquea el acceso oficial a su tienda y a ciertas APIs.

Esto implica que, aunque tengas un entorno Android plenamente funcional dentro de Waydroid, no vas a poder usar Play Store de manera oficial. Muchas aplicaciones solo se distribuyen a través de esa tienda, por lo que tendrás que recurrir a repositorios alternativos de APKs o a tiendas de terceros para poder instalarlas.

Ese enfoque funciona razonablemente bien para gran parte del catálogo, pero no garantiza el mismo comportamiento que en un dispositivo Android certificado. Las apps que exigen SafetyNet, Play Integrity o comprobaciones avanzadas de seguridad pueden negarse a arrancar o limitar funciones.

Como ya se ha comentado, microG puede cubrir parcialmente algunas de estas carencias ofreciendo una implementación libre de ciertas APIs de Google. Aun así, no soluciona todos los casos y, en especial, las aplicaciones bancarias y otros servicios críticos suelen mantener sus restricciones.

Gestión y reporte de errores en el ecosistema Waydroid + Ubuntu Touch

Waydroid es un proyecto en constante movimiento y la integración con Ubuntu Touch y otros sistemas se va puliendo con el tiempo. Es normal toparse con pequeños bugs, comportamientos raros o diferencias según el dispositivo concreto que uses.

características smartphone Liberux NEXX-0
Artículo relacionado:
Liberux NEXX: el smartphone Linux más potente y privado del mercado

Cuando detectes un fallo, conviene diferenciar si se trata de un problema propio de Ubuntu Touch o de Waydroid. Los errores relacionados con el sistema base (interfaz, gestor de sesiones, etc.) deben reportarse en el rastreador de incidencias de Ubuntu Touch. En cambio, los fallos específicos del contenedor Android, de los comandos de Waydroid o de la ejecución de apps Android se gestionan en el issue tracker oficial de Waydroid.

Al mandar un reporte, intenta incluir la mayor cantidad de detalles posible: modelo de dispositivo, versión de Ubuntu Touch, pasos exactos para reproducir el fallo y mensajes de error. Esta información facilita que los desarrolladores puedan diagnosticar el problema con rapidez y proponer correcciones o soluciones temporales.

Con todo lo anterior, queda claro que Waydroid se ha convertido en una pieza clave para quienes quieren unir el mundo Android con Ubuntu Touch: permite ejecutar muchas aplicaciones de forma integrada, acceder a tiendas alternativas como F-Droid, gestionar APKs desde la terminal y aprovechar mejor el hardware del dispositivo, siempre teniendo presentes las limitaciones de certificación de Google, el mayor consumo de batería y los posibles conflictos de hardware que pueden surgir al combinar dos sistemas sobre el mismo núcleo. Comparte la información para que más usuarios conozcan del tema.