zur Startseite

Druckausgabe von https://privat.albicker.org
Iveco Daily 4x4, Hunde und multithematisches Blog

Noch ein eingesperrtes Android ...

veröffentlicht am 26.07.2020 mit 1731 Worten - Lesezeit: 9 Minute(n) in * GEBRABBEL * SOFTWARE *

Inhaltsverzeichnis

 

Neben der Möglichkeit, ein Android in einer virtuellen Maschine laufen zu lassen, gibt es auch die Möglichkeit eines Emulators, hier habe ich mich entschlossen, Anbox zu testen, das Projekt nennt sich selbst “Android in a box” …
Aus der Kurzbeschreibung:

Anbox packt das Android-Betriebssystem in einen Container, abstrahiert den Hardware-Zugriff und integriert zentrale Systemdienste in ein GNU/Linux-System. Jede Android-Anwendung wird wie jede andere native Anwendung in Ihr Betriebssystem integriert.

Installation

Hier habe ich mich nach der offiziellen Dokumentation gerichtet.

Anmerkung 1: ich gehe hier von einem normalen Debian-System mit vollwertigem Root-Account aus. Wer ein sudo-System nutzt, muß die entsprechenden Befehle, die ich hier als root ausführe, eben entsprechend ergänzen.

Anmerkung 2: Grundsätzlich lassen sich alle Arbeiten mit normalen Benutzerrechten durchführen, solange das nicht ausdrücklich anders angegeben ist.

Kernel-Module

Lt. Doku müssen für den Betrieb von Anbox zwei Kernel-Module installiert und verfügbar sein. Die Doku sagt über mein Debian aber auch (Ubuntu und verwandte Distros: dort müssen diese Module offenbar über PPA nachinstalliert werden):

Debian has enabled these modules since kernel 4.17.3. So you don’t need to bother how to install.

Dann wollen wir doch mal sehen, ob der Kernel die Mindestanforderung erfüllt (> Ver. 4.17.3):

System:
  Host: Rechner Kernel: 4.19.0-9-amd64 x86_64 bits: 64 compiler: gcc 
  v: 8.3.0 Desktop: Cinnamon 3.8.8 Distro: Debian GNU/Linux 10 (buster)

und so liefert die Abfrage nach den Kernel-Modulen auch die richtige Ausgabe:

$ ls -1 /dev/{ashmem,binder}
/dev/ashmem
/dev/binder

snap installieren

Die Anbox-Leute stellen ihre Software offenbar nur als snap-Package zur Verfügung - dieses Zeug aus der Ubuntu-Welt hab ich nicht freiwillig auf dem Rechner, es eignet sich hervorragend,

Für einen Test? Sei’s drum. Also ein Root-Terminal öffnen und:

root@{rechnername}:~# apt install snapd

Anbox installieren

Zunächst muß das Anbox-Paket installiert werden, ich habe mich hier für die akutellste Beta-Version entschieden:

{benutzername}@{rechnername}:~$ snap install --devmode --beta anbox
Warning: /snap/bin was not found in your $PATH. If you've not restarted your
         session since you installed snapd, try doing that. Please see
         https://forum.snapcraft.io/t/9469 for more details.

anbox (beta) 4-56c25f1 from Simon Fels (morphis) installed

Kleiner Test:

{benutzername}@{rechnername}:~$ snap list
Name   Version    Rev   Tracking       Publisher   Notes
anbox  4-56c25f1  186   latest/beta    morphis     devmode
core   16-2.45.2  9665  latest/stable  canonical✓  core

Neben dem snap-core scheint das anbox-Paket vorhanden zu sein, also mal aufrufen und die Version abfragen:

{benutzername}@{rechnername}:~$ /snap/bin/anbox version
anbox 4

Auf meinem Rechner muß ich den Pfad /snap/bin/ mitgeben, der Rechner hatte gemault, dieser Pfad wäre nicht in der $PATH Variable enthalten. Das kann ich machen, wenn sich das Ganze als Dauerlösung herausstellen sollte …

Nun können Detailinfos abgefragt werden:

{benutzername}@{rechnername}:~$ snap info anbox
name:      anbox
summary:   Android in a Box
publisher: Simon Fels (morphis)
store-url: https://snapcraft.io/anbox
contact:   https://anbox.io
license:   unset
description: |
  Runtime for Android applications which runs a full Android system
  in a container using Linux namespaces (user, ipc, net, mount) to
  separate the Android system fully from the host.
  
  You can find further details in our documentation at
  https://github.com/anbox/anbox/blob/master/README.md
commands:
  - anbox
  - anbox.android-settings
  - anbox.appmgr
  - anbox.collect-bug-info
  - anbox.shell
services:
  anbox.container-manager: simple, enabled, inactive
snap-id:      Nr9K6UJaIOD8wHpDEQl16nabFFt9LLEQ
tracking:     latest/beta
refresh-date: today at 04:53 CEST
channels:
  latest/stable:    –                                
  latest/candidate: –                                
  latest/beta:      4-56c25f1 2020-01-02 (186) 391MB devmode
  latest/edge:      4-6a3f886 2020-03-27 (191) 391MB devmode
installed:          4-56c25f1            (186) 391MB devmode

Braucht also fast 400MB, diese Umgebung.

Eine Abfrage, ob soweit alles ok ist für den Betrieb des Emulators, sollte ergeben:

{benutzername}@{rechnername}:~$ /snap/bin/anbox check-features
Your computer does meet all requirements to run Anbox

außerdem wird noch ein Paket mit Tools gebraucht, um lokal gespeichterte Apps zu installieren:

 root@{rechnername}:~# apt install android-tools-adb

Betrieb

Start des Application Managers

Den Kern von Anbox stellt der Application Manager dar, der sich wie folgt starten läßt:

{benutzername}@{rechnername}:~$ /snap/bin/anbox.appmgr

Hier kam mal eine Fehlermeldung, derzufolge der Application manager service is not running yet, bei github konnte ich finden, daß dieser Befehl helfen sollte:

root@{rechnername}:~# systemctl start anbox-container-manager.service

was er dann auch tat, danach ließ sich der Applikation Manager starten:

=Bildbeschreibung=

Erste App installieren

Grds. verwende ich auch für Android bevorzugt Open-Source-Apps, hier ist F-Droid der Appstore der Wahl. Dieser kann eingerichtet werden, indem der Installer .apk von der Webseite heruntergeladen wird. Die Installation geschieht dann außerhalb des Application Managers, indem ein Terminal im Verzeichnis des heruntergeladenen .apk-Files geöffnet und eingegeben wird:

{benutzername}@{rechnername}:~/Pfad/zum/apk-installer$ adb install F-Droid.apk 
* daemon not running; starting now at tcp:5037
* daemon started successfully
Success

Und so sieht dann der Application Manager mit installiertem F-Droid aus:

=Bildbeschreibung=

(Unter dem Punkt Settings läßt sich die Sprache auf ‘deutsch’ ändern)
Wichtig: Wenn man auf diesem Weg manuell heruntergeladene Apps lokal installieren will, so muß der Application Manager gestartet sein und laufen, andernfalls erhält man diese Fehlermeldung:

error: no devices/emulators found
adb: error: failed to get feature set: no devices/emulators found
- waiting for device -

Weitere Apps hinzufügen oder entfernen

Ab hier gestaltet sich der Umgang mit diesem “Android in a Box” relativ unproblematisch, wenn auch ungewohnt: Apps öffnen jeweils eigene Fenster, z. B. F-Droid sieht so aus:

=Bildbeschreibung=

und über die Lupe rechts unten läßt sich die Suche aufrufen:

=Bildbeschreibung=

Der Rest ist die Standardprozedur: herunterladen und installieren - fertig.

Hinweis: In F-Droid ist auch eine App Aurora-Store enthalten, die einen anonymen Zugriff auf den Google-Play-Store ermöglicht (Interview mit dem Entwickler).

Will man nun eine App wieder “loswerden”, dann geht der einfachste Weg über den Einstellungen-Dialog:

=Bildbeschreibung=

Dieser läßt sich auch direkt mit ~$ /snap/bin/anbox.android-settings starten. Dort im Unterpunkt Apps läßt sich eine Auflistung aller installierten Apps anzeigen:

=Bildbeschreibung=

Hier kann man die fragliche App dann antippen und im nächsten Schritt

=Bildbeschreibung=

findet man dann zwei Aktionen: deinstallieren oder beenden erzwingen.

Deinstallation

Wem diese “Box-Lösung” von Android nicht gefällt, der geht so vor:

Snap: Anbox entfernen

Dieser erste Schritt ist einfach:

{benutzername}@{rechnername}:~$ snap remove anbox
anbox entfernt

auf Betriebssystem-Ebene

 

weitere Artikel