====== Waydroid ======
Ejecuta [[..:sistemas_operativos:android|Android]] en sistemas Linux (arm, arm64, x86 y x86_64) con entornos Wayland (es posible hacer un apaño para usar en X11).
* [[https://waydro.id/|Sitio web]]
* [[https://docs.waydro.id/|Documentación oficial]]
{{ https://waydro.id/assets/images/hero/main_landing.jpeg |}}
===== Características =====
* Código abierto.
* Arquitectura basada en contenedores: usa Linux Containers (LXC) para aislar Android sin necesidad de virtualización, reduciendo el consumo de recursos.
* Soporte para Wayland aunque también funciona en X11.
* Modo Ventana o Pantalla Completa
* Acceso directo al hardware
* Compatibilidad con cámaras, micrófono, Bluetooth, GPS, giroscopio y rotación automática de pantalla.
* Bajo consumo de recursos (alto rendimiento, casi nativo).
* Soporte para Google Play Services (opcional), para acceder a la Play Store y servicios de Google.
* Compatibilidad con apps ARM: Usa un sistema de traducción binaria (''libhoudini'') para ejecutar apps diseñadas para ARM en CPUs x86_64.
* Soporte multi-ventana: ejecuta varias apps de Android simultáneamente en ventanas independientes.
* Imagen de Android basada en [[https://lineageos.org/|LineageOS]].
===== Uso en X11 =====
Waydroid está diseñado para ser utilizado en Wayland, pero podemos realizar los siguientes pasos para usarlo en X11.
Instalamos ''weston''.
Iniciamos weston en una sesión X:
weston --socket=mysocket
* [[https://github.com/1999AZZAR/use-waydroid-on-x11|Waydroid Installation and Usage Guide for X11]]
===== Inicializar Waydroid =====
Si queremos tener las Google Apps:
sudo waydroid init -f -s GAPPS
Si no queremos tener las Google Apps:
sudo waydroid init
===== Uso de Waydroid =====
Arrancar:
waydroid show-full-ui
Detener:
waydroid session stop
==== Lanzar aplicaciones ====
Una sesión de Waydroid debe estar iniciada (''waydroid session start'').
waydroid app launch nombre.paquete.app
Por ejemplo, si queremos abrir el navegador Google Chrome:
waydroid app launch com.android.chrome
Podemos saber el nombre del paquete si lo buscamos en la web de Google Play: https://play.google.com/. El nombre del paquete podemos verlo en la URL después de ''id''. Por ejemplo, Google Chrome tiene la siguiente URL ''%%https://play.google.com/store/apps/details?id=com.android.chrome%%'', así que el nombre del paquete es ''com.android.phone''.
Algunos ejemplos de aplicaciones gratuitas:
^ Aplicación ^ Nombre del paquete ^
| [[telegram|Telegram]] | ''org.telegram.messenger'' |
| WhatsApp | ''com.whatsapp'' |
| Stellarium | ''com.noctuasoftware.stellarium_free'' |
| Google Earth | ''com.google.earth'' |
| Aves Galería | ''deckers.thibault.aves'' |
| [[..:sistemas_operativos:android:aplicaciones:material_files|Material Files]] | ''me.zhanghai.android.files'' |
| [[..:sistemas_operativos:android:aplicaciones:librera|Librera]] | ''com.foobnix.pdf.reader'' |
| [[vlc|VLC]] | ''org.videolan.vlc'' |
| Etar | ''ws.xsoh.etar'' |
| [[.:internet:wireguard|WireGuard]] | ''com.wireguard.android'' |
| [[..:sistemas_operativos:android:aplicaciones:antennapod|AntennaPod]] | ''de.danoeh.antennapod'' |
| [[..:sistemas_operativos:android:aplicaciones:lemuroid|Lemuroid]] | ''com.swordfish.lemuroid'' |
| Mi DGT | ''com.dgt.midgt'' |
===== Falsear arquitectura =====
Si usamos Waydroid en un equipo Intel o AMD, detectará arquitectura ''x86_64'', y o podremos instalar aplicaciones creadas para ARM.
Esto lo sabremos si desde Play Store vemos un mensaje como:
"This app won't work for your device."
Existen scripts para "engañar" y hacer que detecten más arquitecturas como ''armeabi'', ''armeabi-v7a'' y , ''arm64-v8a''. Usaremos **Waydroid Extras Script**: https://github.com/casualsnek/waydroid_script
En sistemas Arch Linux lo tendremos disponible a través del paquete de AUR ''waydroid-script-git''.
Al ejecutarlo, podemos elegir la versión de Android a emular y después de elegir la opción **Install**, elegiremos ''libhoudini'' y confirmaremos para que el script haga su trabajo.
Al arrancar de nuevo Waydroid, ya podremos instalar cualquier aplicación de Android compilada para cualquier arquitectura.
===== Waydroid Extras Script =====
Script para añadir cosas interesantes a Waydroid: https://github.com/casualsnek/waydroid_script
Con este script podremos:
* Instalar las Google Apps
* Elegir entre Android 11 y Android 13
* Instalar **libhoudini** para tener multiarquitectura (soporte ARM).
* Instalar Magisk para la gestión de permisos ''root''.
* Instalar [[https://github.com/axel358/smartdock|Smart Dock]] para lograr una apariencia de escritorio.
===== Google Play Certification =====
Si lanzamos Waydroid con GAPPS, Android se quejará de que el dispositivo no está certificado por Google Play Protect. Para solucionarlo, podemos seguir las instrucciones en pantalla o seguir estos pasos:
* Abrir un terminal
* Ejecutar: ''%%sudo waydroid shell -- sh -c "sqlite3 /data/data/*/*/gservices.db 'select * from main where name = \"android_id\";'"%%''
* Copiar los números que aparecen en la caden de texto mostrada
* Entrar en https://www.google.com/android/uncertified con nuestra cuenta de Google.
* Pegar los números obtenidos en el segundo paso
* Cuando se confirmen los cambios, reiniciamos Waydroid: ''waydroid session stop''.