Jonas Dressler del proyecto GNOME, que desarrolla la edición de GNOME Shell para dispositivos móviles, ha publicado hallazgos que permiten ejecutar el entorno Aliendalvik (AppSupport) en distribuciones de Linux estándar. Aliendalvik es una capa para la plataforma móvil Sailfish que permite ejecutar aplicaciones escritas para la plataforma Android. Durante el proceso de ingeniería inversa, se han preparado parches para el servidor compositor Mutter, scripts y enlaces sobre el servidor de sonido y el sistema de entrada, necesarios para ejecutar Aliendalvik fuera del entorno de la plataforma Sailfish.
La ejecución de Aliendalvik se ha demostrado en los teléfonos inteligentes Pinephone Pro y Oneplus 6, donde se instaló en Arch Linux con la interfaz GNOME Mobile. Se destaca que para la interacción de Aliendalvik con el entorno usuario de Sailfish se utilizan las API estándar de Freedesktop; por ejemplo, las notificaciones se transmiten a través de la interfaz DBus org.freedesktop.Notification, y para controlar los reproductores de música se utiliza el protocolo MPRIS. Cada aplicación de Android en ejecución se muestra utilizando una superficie Wayland separada en su propia ventana, y se aplicó el protocolo Wayland "text-input" para la gestión de entrada.
El entorno Aliendalvik se ejecuta utilizando herramientas de aislamiento en contenedores LXC, y los componentes para la integración con el sistema anfitrión están construidos para la arquitectura ARM64 y escritos con Qt. A diferencia de un proyecto similar como Waydroid, que también ejecuta un entorno Android en un contenedor, en Aliendalvik se ha logrado una integración más estrecha con el sistema anfitrión; por ejemplo, las aplicaciones de Android se abren en ventanas normales, se soporta la sincronización de contactos y se utiliza un teclado en pantalla de Sailfish.
El entorno del sistema Sailfish se basa en el proyecto Mer (desarrollado desde abril de 2019 como parte de Sailfish) y en los paquetes de la distribución Mer Nemo. En el entorno se utilizan systemd, DBus, RPM, PackageKit, PulseAudio, BlueZ, Wayland y Qt. El compositor servidor lipstick está construido sobre QtCompositor. Se utiliza Firejail para el aislamiento de aplicaciones. Para la gestión de conexiones de red se utiliza ConnMan, y oFono se utiliza como pila telefónica.
Fuente: opennet.ru
