Waydroid mit Weston
Um den Android-Emulator Waydroid unter X11 zu starten, weil z.B. Linux Mint 22.2 noch Probleme mit Wayland hat, benötigt man Weston, eine Art Wayland-Container mit Terminal. Für ein Android-System inklusive Google-Apps (GAPPS) muss man sich zudem noch eine Google-Zertifizierung besorgen.
Für die Installation unter Debian/Ubuntu-Derivate wie Linux Mint werden folgende Befehle ausgeführt:
sudo apt update sudo apt install curl ca-certificates -y curl -s https://repo.waydro.id | sudo bash sudo apt install waydroid weston -y
Dann folgt die Installation von Waydroid mit den GAPPS:
sudo waydroid init -s GAPPS
Wer kein Google möchte lässt alles nach init weg und man muss auch keine Google-Zertifizierung machen.
Starten Sie den Container:
sudo systemctl enable waydroid-container sudo systemctl start waydroid-container
Mit Weston starten
Waydroid wird dann in Westen gestartet, dazu weston ausführen, das Terminal in Weston öffnen und folgendes eingeben:
waydroid show-full-ui
Sollte Android, bzw LineageOS,kein Internet haben, liegt das vermutlich an Einstellungen in der Firewall. Zum Testen kann man sie einmal ausschalten, dann sollte das Android eine Internetverbindung haben.
F-Droid installieren
Um F-Droid zu installieren wird die APK unter Linux heruntergeladen, in Downloads gespeichert und anschließend mit waydroid installiert:
cd ~/Downloads wget https://f-droid.org/F-Droid.apk waydroid app install F-Droid.apk
Danach ist die App sofort im LineageOS unter Waydroid verfügbar.
Fenstergröße
Beim Ändern der Weston-Fenstergröße startet der Android-Container mit LineageOS neu. Waydroid passt die Display-Auflösung an die Weston-Größe an, was einen Neustart der SurfaceFlinger-Komponente auslöst, die den Container/Session resetet, weil dynamisches Resizing nicht voll unterstützt wird.
Für eine feste Fenstergröße kann man die Auflösung z.B. vorab in ein Start-Skript start-waydroid schreiben:
#!/bin/bash waydroid prop set persist.waydroid.width 1280 waydroid prop set persist.waydroid.height 720 weston -- sh -c ' weston-terminal & sleep 1 waydroid show-full-ui ' waydroid session stop
Das Skript setzt die Fenstergröße, startet Weston und dann Waydroid. Wird Lineage dann heruntergefahren, wird die Session gestoppt.
Android ID abrufen
Nach dem Start von Android mit GAPPs beschweren sich die Google-Apps darüber, dass die Plattform nicht sicher ist. Um sie „sicher“ zu machen benötigt man eine Google-Zertifizierung. Dafür wird sichergestellt, dass Waydroid läuft (Container & Session) und dann im Linux-Terminal (außerhalb Weston) folgender Befehl eingegeben:
sudo waydroid shell -- sh \ -c "ANDROID_RUNTIME_ROOT=/apex/com.android.runtime \ ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata \ ANDROID_I18N_ROOT=/apex/com.android.i18n \ sqlite3 /data/data/com.google.android.gsf/databases/gservices.db \ 'select * from main where name = "android_id";'"
Kopiere die Zahlen hinter android_id| (z. B. 1234567890123456789).
Gehe anschließend zu https://www.google.com/android/uncertified/ (mit deinem Google-Konto angemeldet), füge die Android ID ein und klicke „Register“. Die Registrierung dauert 5–30 Minuten (manchmal auch länger bis zu 1-2 Stunden).
Waydroid-Daten wieder entfernen
Falls man alte Daten von Waydroid wieder los werden will:
sudo waydroid session stop sudo waydroid container stop sudo rm -r /var/lib/waydroid ~/.local/share/waydroid


