如何在 Anbox 上安裝 Google Play 商店及啟用 ARM 支援

2018-11-27 11:49:00

Anbox (Anroid in a Box)是一個自由開源工具,它允許你在 Linux 上執行 Android 應用程式。它的工作原理是在 LXC 容器中執行 Android 執行時環境,重新建立 Android 的目錄結構作為可掛載的 loop 映象,同時使用本機 Linux 核心來執行應用。

據其網站所述,它的主要特性是安全性、效能、整合和趨同(不同外形尺寸縮放)。

使用 Anbox,每個 Android 應用或遊戲就像系統應用一樣都在一個單獨的視窗中啟動,它們的行為或多或少類似於常規視窗,顯示在啟動器中,可以平鋪等等。

預設情況下,Anbox 沒有 Google Play 商店或 ARM 應用支援。要安裝應用,你必須下載每個應用的 APK 並使用 adb 手動安裝。此外,預設情況下不能使用 Anbox 安裝 ARM 應用或遊戲 —— 嘗試安裝 ARM 應用會顯示以下錯誤:

Failed to install PACKAGE.NAME.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

你可以在 Anbox 中手動設定 Google Play 商店和 ARM 應用支援(通過 libhoudini),但這是一個非常複雜的過程。為了更容易地在 Anbox 上安裝 Google Play 商店和 Google Play 服務,並讓它支援 ARM 應用程式和遊戲(使用 libhoudini),geeks-r-us.de(文章是德語)上的人建立了一個自動執行這些任務的指令碼。

在使用之前,我想明確指出,即使在整合 libhoudini 來支援 ARM 後,也並非所有 Android 應用和遊戲都能在 Anbox 中執行。某些 Android 應用和遊戲可能根本不會出現在 Google Play 商店中,而一些應用和遊戲可能可以安裝但無法使用。此外,某些應用可能無法使用某些功能。

安裝 Google Play 商店並在 Anbox 上啟用 ARM 應用/遊戲支援

如果你的 Linux 桌面上尚未安裝 Anbox,這些說明顯然不起作用。如果你還沒有,請按照此處的安裝說明安裝 Anbox。此外,請確保在安裝 Anbox 之後,使用此指令碼之前至少執行一次 anbox.appmgr,以避免遇到問題。另外,確保在執行下面的指令碼時 Anbox 沒有執行(我懷疑這是導致評論中提到的這個問題的原因)。

1、 安裝所需的依賴項(wget、lzip、unzip 和 squashfs-tools)。

在 Debian、Ubuntu 或 Linux Mint 中,使用此命令安裝所需的依賴項:

sudo apt install wget lzip unzip squashfs-tools

2、 下載並執行指令碼,在 Anbox 上自動下載並安裝 Google Play 商店(和 Google Play 服務)和 libhoudini(用於 ARM 應用/遊戲支援)。

警告:永遠不要在不知道它做什麼的情況下執行不是你寫的指令碼。在執行此指令碼之前,請檢視其程式碼

要下載指令碼,使其可執行並在 Linux 桌面上執行,請在終端中使用以下命令:

wget https://raw.githubusercontent.com/geeks-r-us/anbox-playstore-installer/master/install-playstore.shchmod +x install-playstore.shsudo ./install-playstore.sh

3、要讓 Google Play 商店在 Anbox 中執行,你需要啟用 Google Play 商店和 Google Play 服務的所有許可權

為此,請執行Anbox:

anbox.appmgr

然後進入“設定 > 應用 > Google Play 服務 > 許可權”並啟用所有可用許可權。對 Google Play 商店也一樣!

你現在應該可以使用 Google 帳戶登入 Google Play 商店了。

如果未啟用 Google Play 商店和 Google Play 服務的所有許可權,你可能會在嘗試登入 Google 帳戶時可能會遇到問題,並顯示以下錯誤訊息:“Couldn’t sign in. There was a problem communicating with Google servers. Try again later“,如你在下面的截圖中看到的那樣:

登入後,你可以停用部分 Google Play 商店/Google Play 服務許可權。

如果你在 Anbox 上登入 Google 帳戶時遇到一些連線問題,請確保 anbox-bride.sh 正在執行:

啟動它:

sudo /snap/anbox/current/bin/anbox-bridge.sh start

重新啟動它:

sudo /snap/anbox/current/bin/anbox-bridge.sh restart

根據此使用者的說法,如果 Anbox 仍然存在連線問題,你可能還需要安裝 dnsmasq 包。但是在我的 Ubuntu 18.04 桌面上不需要這樣做。