Start des Android-Umgebungs Aliendalvik aus Sailfish in Linux-Distributionen

Jonas Dressler von dem GNOME-Projekt, das die GNOME Shell für mobile Geräte entwickelt, hat Arbeiten veröffentlicht, die es ermöglichen, die Umgebung Aliendalvik (AppSupport) in regulären Linux-Distributionen zu starten. Aliendalvik ist eine Schicht für die mobile Plattform Sailfish, die das Starten von Anwendungen, die für die Android-Plattform geschrieben wurden, ermöglicht. Im Rahmen der Rückentwicklung von Aliendalvik wurden Patches für den Composite-Server Mutter, Skripte und Bindings über den Soundsserver und das Eingabesystem vorbereitet, die für den Betrieb von Aliendalvik außerhalb der Sailfish-Plattform erforderlich sind.

Der Start von Aliendalvik wurde auf den Smartphones Pinephone Pro und Oneplus 6 demonstriert, auf denen Arch Linux mit GNOME Mobile Shell installiert war. Es wird erwähnt, dass für die Interaktion von Aliendalvik mit der Benutzerumgebung Sailfish die Standard-APIs von Freedesktop verwendet werden, beispielsweise werden Benachrichtigungen über die DBus-Schnittstelle org.freedesktop.Notification übermittelt, und für die Steuerung von Musikplayern wird das MPRIS-Protokoll eingesetzt. Jede gestartete Android-Anwendung wird mit einer separaten Wayland-Oberfläche in ihrem eigenen Fenster angezeigt, und für die Eingabe wurde das Wayland-Protokoll „text-input“ verwendet.

Die Umgebung Aliendalvik wird mithilfe von LXC-Containermanagement-Tools gestartet, und die Komponenten für die Integration mit dem Host-System sind für die ARM64-Architektur erstellt und mit Qt geschrieben. Im Gegensatz zum ähnlichen Projekt Waydroid, das ebenfalls eine Android-Umgebung in einem Container ausführt, bietet Aliendalvik eine engere Integration mit dem Host-System, beispielsweise werden Android-Anwendungen in regulären Fenstern geöffnet, es wird die Synchronisierung des Adressbuchs unterstützt und es wird die Bildschirmtastatur von Sailfish verwendet.

Die Systemumgebung Sailfish basiert auf dem Projekt Mer (das seit April 2019 als Teil von Sailfish entwickelt wird) und auf Paketen der Mer-Distribution Nemo. In dieser Umgebung werden systemd, DBus, RPM, PackageKit, PulseAudio, BlueZ, Wayland und Qt verwendet. Der Composite Server lipstick basiert auf QtCompositor. Für die Isolierung der Anwendungen wird Firejail verwendet. Für das Management der Netzwerkverbindungen wird ConnMan eingesetzt, und als Telefonsystem wird oFono verwendet.

Quelle: opennet.ru

60GB SSD 8Gb DDR4