Android-Apps als eigenständige Fenster auf dem Linux-Desktop – das beschert Anbox. Anders als gängige Android-Emulatoren setzt die Software auf LXC-Container und Kernel-Namespaces. Das Linux-Magazin hat die Pre-Alpha-Version getestet.
Im April 2017 hat der Entwickler Simon Fels eine frühe Entwicklungsversion seines Programms Anbox [1] vorgestellt. Das unter der GPLv3 und Apache Lizenz veröffentlichte “Android in a Box” bringt die Lieblings-Apps vom Android-Smartphone oder -Tablet auf den Linux-Desktop. Die Software verfolgt andere Ansätze als Emulatoren wie Shashlik [2] und Genymotion [3] oder die Entwicklungsumgebung Android Studio [4]. Um die Apps nativ auf den Desktop zu bringen, verpackt Anbox das Android-System und die Apps in einen LXC-Container, um sie vom Linux-System abzuschotten.
Das Projekt ist laut Aussagen des Entwicklers aus einem technischen Anreiz heraus entstanden und nicht im Hinblick auf eine bestimmte Zielgruppe. Die Idee hinter dem verpackten Android ist gut: Die Anbox-Runtime besteht im Wesentlichen aus dem Session- und dem Container-Manager. Letzterer ist für das Setup des LXC-Containers verantwortlich und tauscht sich mit dem Session-Manager aus.
Dieser wiederum kommuniziert über mehrere Sockets mit dem Android-Container und sorgt für die Integration der Apps in den Desktop des angemeldeten Benutzers.
Einen ausführlicheren Überblick über die Architektur und das Zusammenspiel der Komponenten gibt ein Artikel im Github-Repository des Projekts [5].
Im Karton
Offiziell ist Anbox derzeit nur auf der Ubuntu-LTS-Version 16.04 lauffähig, soll aber laut Readme im Github-Repository auch unter 14.04, 16.10 und 17.04 funktionieren. Auf dem Testrechner lief Ubuntu 16.04 mit dem Unity-Desktop.
Der Anbox-Installer wandert als Snap auf das System:
snap install --classic anbox-installer
Alternativ steht das Installer-Skript auf der Projektseite zum Download bereit. Anschließend starten Anwender das Tool über den Befehl »anbox-installer«; das Skript nutzt »sudo« und fragt nach dem Kennwort, wenn es erforderlich ist.
Der Installer richtet das PPA des Entwicklers als Paketquelle ein, holt von dort ein Paket mit zwei Kernelmodulen (»ashmem« und »binder«) für den Android-Container, installiert Anbox selbst und richtet einen Upstart-Job für den angemeldeten Benutzer ein. Damit die Android-Apps im Anwendungsstarter der Desktopumgebung auftauchen, booten Anwender den Rechner neu.

Abbildung 1: Der Anbox Application Manager und alle installierten Apps sind über das Unity-Dash erreichbar.
Eine Suche nach »anbox« im Unity-Dash zeigt nach dem nächsten Anmelden mehrere Treffer (Abbildung 1): »Anbox« startet den Anbox Application Manager, der zu allen installierten Apps führt. Alternativ erreichen Anwender diese über einen Klick auf das Symbol im Startmenü.
Füllmaterial
Im Android-Container werkelt ein minimales Android-Image, das auf Android 7.1.1 basiert. Die Anbox-Entwickler haben dazu die Quellen des Android Open Source Project [6] verwendet und an ihre Bedürfnisse angepasst [7]. Eine Unterstützung für alternative Factory-Images von Google oder Custom-ROMs ist nicht vorgesehen. Diese sind auf die jeweiligen Geräte zugeschnitten und haben für Anbox keinerlei Relevanz.
Da der Android-Eigenbau keine Google-Accounts unterstützt, fehlt die Play-Store-Integration. Neue Apps gelangen daher via Android Debug Bridge [8] ins Android-System. Benutzer installieren dazu das Paket »android-tools-adb«, laden die gewünschte APK-Datei von einem Mirror herunter und spielen diese mittels »adb install Datei.apk« ein. Alternativ installieren sie die F-Droid-App [9] und erhalten damit einen alternativen App-Store mit ausschließlich freien und quelloffenen Apps (Abbildung 2).

Abbildung 2: Der alternative App-Store F-Droid bringt freie und quelloffene Android-Apps ins Anbox-System.
Nicht aus Pappe
Zum Testzeitpunkt funktionierten Netzwerk- und Pulse-Audio-Zugriff aus Anbox heraus (Abbildung 3). Einige Apps liefen prima, andere ließen sich nicht zur Mitarbeit bewegen. Wer auf einen Bug stößt und darüber mit anderen Anbox-Anwendern diskutieren möchte, sollte den Github-Bugtracker auf der Projektseite aufsuchen [10]. Der Austausch von Bildern, Videos oder Musik zwischen Android- und Linux-Rechner klappt in der Pre-Alpha-Ausgabe noch nicht, ist aber für eine der nächsten Versionen vorgesehen.

Abbildung 3: Anbox ist Netzwerk-fähig und macht Musik. Apps wie Spotify funktionieren daher bereits.
Viele Android-Apps sind noch nicht bereit für den Einsatz auf dem Linux-Desktop, was sich aber möglicherweise mit den nächsten Android-Versionen verbessern wird. Das Linux-Magazin hat nachgefragt, wie es im Projekt selbst weitergeht. Das Hauptaugenmerk liegt laut Aussagen von Simon Fels momentan auf der Stabilität. Damit Anbox den Alpha- oder Betastatus erreicht, ist noch einige Arbeit an der Android-Runtime nötig – das Projekt sucht fähige Entwickler, gerne auch aus der Android-Ecke.
Infos
-
Anbox: https://anbox.io
-
Shashlik: http://www.shashlik.io
-
Genymotion: https://www.genymotion.com
-
Android Studio: https://developer.android.com/studio
-
Anbox-Runtime (Überblick): https://github.com/anbox/anbox/blob/master/docs/runtime-setup.md
-
Android Open Source Project: https://source.android.com
-
Android-Image für Anbox bauen: https://github.com/anbox/anbox/blob/master/docs/build-android.md
-
Android Debug Bridge: https://developer.android.com/studio/command-line/adb.html
-
F-Droid: https://f-droid.org
-
Anbox-Issues: https://github.com/anbox/anbox/issues





