Toto je starší verze dokumentu!
Android
Chtěl jsem rozběhnout Android na Linuxu s Google Play. Abych mohl nainstalovat a spustit některé aplikace z Google Play. A tady jsou moje zkušenosti s různými variantami.
Anbox
Anbox je bezplatná a open-source vrstva kompatibility, jejímž cílem je umožnit spouštění mobilních aplikací a mobilních her vyvinutých pro Android na distribucích Linuxu.
U Anboxu jsem narazil na to, že již není aktivně vyvíjen. Nainstalovat se dá ze snapu, ale kvůli opuštění vývoje jsem se rozhodl nevyužít.
snap install --devmode --beta anbox
Waydroid
Waydroid je vlastně takové pokračování Anboxu. Je to kontejner s Androidem pro Wayland. Jako první kámen úrazu je fajn říct, že Wayland je povinný. Když jsem se pokoušel spustit Waydroid pod X11, tak házel chybové hlášení.
[23:52:00] WAYLAND_DISPLAY is not set, defaulting to "wayland-0" [23:52:00] Wayland socket '/run/user/1000/wayland-0' doesn't exist; are you running a Wayland compositor?
Proto jsem se musel do Ubuntu přihlásit přes compositor Wayland - což je docela jednoduché. Stačí při přihlašování do systému před vyplněním hesla zvolit, který compositor se má použít. Zda staré Gnome nebo Wayland.
Pak jsem šel do dokumentace, kde je postup na instalaci pro Ubuntu a jiné OS.
sudo apt install curl ca-certificates -y curl https://repo.waydro.id | sudo bash sudo apt install waydroid -y sudo systemd start waydroid-container waydroid init -f -s GAPPS #pro stažení kontejneru včetně Google Play
Po instalaci stačí v Ubuntu najít novou aplikaci Google Play Store nebo Settings. Obě jsou už spouštěny z kontejneru.
Ovšem po spuštění Google Play jsem narazil na problém. Kontejner se choval tak, že není připojený k internetu. Takže Google Play se nikam nepřipojí a nepodaří se nic stáhnout.
Spustil jsem si shell Waydroidu:
sudo waydroid shell
A rovnou jsem otestoval pomocí příkazu ping, že mohu komunikovat s počítači v internetu. A potvrdilo se mi, že ne.
Později jsem našel instrukce pro nastavení sítě. Protože používám Ubuntu a ufw, tak toto byly příkazy, které jsem musel zadat.
sudo ufw allow 53 sudo ufw allow 67 sudo ufw default allow FORWARD
Ještě pro jistotu uvedu, že se instrukce nezadávají ve Waydroid shellu, ale v Ubuntu. Porty 53 a 67 jsem měl povolené, ale forwarding ne.
Když jsme si chtěl ověřit, jak se projevilo poslední pravidlo, tak jsem dal vypsat podrobnosti pomocí příkazu:
ufw status verbose Stav: aktivní Přihlašování: on (low) Výchozí: deny (příchozí), allow (odchozí), allow (směrované) Nové profily: skip Do Akce Od -- ---- -- 53 ALLOW IN Anywhere # open DNS port 67,68/udp ALLOW IN Anywhere # open DHCP ports 53 (v6) ALLOW IN Anywhere (v6) # open DNS port 67,68/udp (v6) ALLOW IN Anywhere (v6) # open DHCP ports
Řádek: Výchozí: deny (příchozí), allow (odchozí), allow (směrované) ukazuje, že je FORWARD zapnutý.
Kdybych to chtěl vrátit zpět, tak zadám příkaz.
ufw default deny FORWARD