====== 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''.