Anbox einrichten
Mit Anbox kann man sich ein Android-System auf einem Linux einrichten, um Apps genauso am Desktop nutzen zu können, wie auf einem Handy. Mit Debian geht es sehr einfach:
- Paket installieren:
% sudo apt install anbox
- Doku lesen:
% less /usr/share/doc/anbox/README.Debian
- Das aktuelle Image von
build.anbox.io holen:
% curl https://build.anbox.io/android-images/…/android_amd64.img |sudo dd of=/var/lib/anbox/android.img
- Den Systemdienst starten:
sudo systemctl start anbox-container-manager ; sudo systemctl status start anbox-container-manager
- Den Benutzerdienst aktivieren:
systemctl --user enable --now anbox-session-manager
; man kann den Dienst auch nur zeitweise mitsystemctl --user start anbox-session-manager
starten, wenn das Andriod-System nicht die gesamte Zeit laufen soll.
Damit sollte sich die Übersicht der Apps starten lassen:
% anbox launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity
Apps installieren und starten
Um Apps im Anbox installieren zu können, benötigt man die apk-Dateien dafür. Von der F-Droid-Webseite und bei Apkmirror kann man die Dateien herunterladen und mit Aurora-Store lassen sich diese auf einem bestehendem Android leicht über den Menüpunkt Manueller Download aus dem Playstore holen.
Man kann sich auch einfach F-Droid und darüber Aurora-Store installieren und
damit auf den kompletten Bestand des Play-Stores zugreifen. Apps lassen sich
auch mit adb
installieren; ggf. vorher
apt install adb
ausführen.
% wget https://f-droid.org/FDroid.apk
% adb install FDroid.apk
Success
% adb shell pm grant org.fdroid.fdroid android.permission.WRITE_EXTERNAL_STORAGE
% adb shell pm grant org.fdroid.fdroid android.permission.READ_EXTERNAL_STORAGE
% adb shell settings put secure install_non_market_apps 1
% anbox launch --action=android.intent.action.MAIN --package=org.fdroid.fdroid --component=org.fdroid.fdroid.views.main.MainActivity
Den Befehl zum Starten der Pakete findet man in den Desktop-Dateien unter ~/.local/share/applications/anbox/ oder falls der Window-Manager das XDG-Menü unterstützt auch direkt dort zum Anklicken.
Über die Kommandozeile kann man sich die installierten Pakete mit adb shell cmd
package list packages
anzeigen lassen. Die für den Aufruf notwendige
Component findet man mit adb shell cmd package query-activities -c
android.intent.category.LAUNCHER net.osmand.plus
unter ActivityInfo, name.
Fehlermeldungen bei Problemen findet man im Journal mit journalctl --user
-uanbox-session-manager
oder journalctl -tanbox
oder mit adb logcat
.
Anpassungen für HiRes-Anzeigen
Mit meinem hochauflösendem 4k-Monitor wurde alles sehr klein dargestellt. Es
gibt in den Einstellungen unter Display zwar die Einstellung Anzeigegröße,
aber diese recht nicht aus. Über die Kommandozeile kann man mit adb shell wm
density …
noch größere Zahlen einstellen. Mein Monitor hat 284 dpi (xdpyinfo
|grep dots
) und ich habe das Anderthalbfache gewählt (wm density 426
),
damit die Symbole auch eine angenehme Größe bekommen. Angezeigt wird die
Einstellung dann als Benutzerdefiniert (426) bzw. mit wm density
sieht man
auch den Wert.
Auch mit dieser Einstellung waren mir die Texte zu klein. In den Einstellungen unter Display (oder Bedienungshilfen) lässt sich auch noch die Schriftgröße anpassen, so dass die Ausgaben gut lesbar werden.
Image erweitern
[Service]
ExecStart=
ExecStart=/usr/bin/anbox container-manager --daemon --privileged --data-path=/var/lib/anbox --use-rootfs-overlay
OpenGapps
Ein Ersatz für Google Play ist Aurora Store, der über F-Droid verfügbar ist. Von microg gibt es als Ersatz für die Google Apps (gapps) das Paket Services Core. Hierfür muss man in F-Droid die Paketquelle https://microg.org/fdroid/repo in den Einstellungen hinzufügen.
https://geeks-r-us.de/2017/08/26/android-apps-auf-dem-linux-desktop/
libhuodini
libhuodini für Unterstützung von arm auf x86_64. Sonos.
Android-x86
Für Anbox ist eine Grafikkarte mit EGL erforderlich; siehe anbox
check-features
und anbox system-info
. Wenn diese nicht vorhanden ist, kann
man auf das Projekt Android-x86 zurückgreifen.
Hierfür muss man das ISO-Image
herunterladen und daraus einige Dateien in ein Verzeichnis speichern.
7z x android-x86_64-8.1-r1.iso initrd.img kernel ramdisk.img system.sfs
Mit dem Skript start-android kann man dann mithilfe von Qemu das Android-System starten. Wer seine Anpassungen dauerhaft sichern will, kann als zweiten Parameter ein Verzeichnis oder ein Image angeben, das innerhalb von Android unter /data eingebunden wird.
start-android /path/to/files/ /data-dir
Da nur die Daten in /data geschrieben werden, kann man mehrere Systeme
gleichzeitig mit unterschiedlichen data-dir starten. Auf der Konsole bekommt
man die Shell innerhalb des Androids und kann dort mit pm
Pakete
installieren oder mit poweroff
das System
abschalten.
Xpra
Remote:
agi xpra python-paramiko python-lz4 python-lzo python-dbus python-uinput
python-gst-1.0 dbus-x11 python-netifaces python-cups
modprobe uinput
xpra start :56 --dpi=284 --mdns=no --html=off
/run/user/1000/xpra/:56.log
Local:
agi xpra python-lz4 python-lzo python-gtkglext1 python-pyinotify python-cups python-opencv
xpra attach ssh:server:56
DISPLAY=:56 anbox session-manager