在manjaro上运行安卓程序:anbox

Anbox 是 “Android in a box” 的缩写。Anbox 是一个基于容器的方法,可以在普通的 GNU/Linux 系统上启动完整的 Android 系统。

它是现代化的新模拟器之一。

Anbox 可以让你在 Linux 系统上运行 Android,而没有虚拟化的迟钝,因为核心的 Android 操作系统已经使用 Linux 命名空间(LXE)放置到容器中了。

Android 容器不能直接访问到任何硬件,所有硬件的访问都是通过在主机上的守护进程进行的。

每个应用程序将在一个单独窗口打开,就像其它本地系统应用程序一样,并且它可以显示在启动器中。

现在来看如何在manjaro上安装anbox:

要在manjaro上安装anbox,我们需要启用snaps,Snaps 是打包了所有依赖项的应用程序,用于从单个内部版本在所有流行的 Linux 发行版上运行。它们会自动更新并正常回滚。

Snaps 可以从 Snap Store(一个拥有数百万受众的应用商店)中发现和安装。

1. 启用snapd
在manjaro 上,snap 可以从 Arch User Repository (AUR) 安装。手动构建过程是manjaro 支持的 AUR 软件包安装方法,您需要先安装必备组件,然后才能安装任何 AUR 软件包。然后,您可以使用以下命令安装快照:

git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si

安装后,需要启用管理主快照通信的 systemd 设备:

sudo systemctl enable --now snapd.socket

要启用经典快照支持,请输入以下命令以在 /var/lib/snapd/snap 和 /snap 之间创建软链接:

sudo ln -s /var/lib/snapd/snap /snap

注销并重新登录,或重新启动系统,以确保正确更新 snap 的路径。

2. 安装anbox
要安装 anbox,只需使用以下命令:

sudo snap install anbox --beta --devmode

由于anbox支持的安卓程序仅限于x86架构,如需安装更多的支持arm的安卓程序,我们还需要启用anbox对arm的支持。

可以参考这个链接:https://github.com/geeks-r-us/anbox-playstore-installer

过程中需要你的机器有良好的国际互联网访问能力。你也可以参考下述方法将机器的hosts修改一下,以便能够尽量快速地下载代码所需要的资源:

sudo vi /etc/hosts

添加以下内容保存即可 (IP地址查询后相应修改,可以ping不同IP的延时 选择最佳IP地址)

# GitHub Start
52.74.223.119 github.com
192.30.253.119 gist.github.com
54.169.195.247 api.github.com
185.199.111.153 assets-cdn.github.com
#151.101.76.133 raw.githubusercontent.com

#192.30.253.112 github.com
199.232.28.133 raw.githubusercontent.com

151.101.108.133 user-images.githubusercontent.com
151.101.76.133 gist.githubusercontent.com
151.101.76.133 cloud.githubusercontent.com
151.101.76.133 camo.githubusercontent.com
151.101.76.133 avatars0.githubusercontent.com
151.101.76.133 avatars1.githubusercontent.com
151.101.76.133 avatars2.githubusercontent.com
151.101.76.133 avatars3.githubusercontent.com
151.101.76.133 avatars4.githubusercontent.com
151.101.76.133 avatars5.githubusercontent.com
151.101.76.133 avatars6.githubusercontent.com
151.101.76.133 avatars7.githubusercontent.com
151.101.76.133 avatars8.githubusercontent.com
# GitHub End

解决了hosts问题之后,在终端运行:

sudo apt install lzip
wget -O -  https://raw.githubusercontent.com/geeks-r-us/anbox-playstore-installer/master/install-playstore.sh | bash

即可开通anbox对arm的支持,然后就可以在manjaro里随意安装安卓程序了。

用anbox安装安卓程序,我们得用命令行,anbox没有图形安装界面。

首先把你需要的apk下载到指定目录,并在该目录下运行终端打开adb(Android Debug Bridge)

sudo pacman -S android-tools
adb devices

然后输入下方命令进行安装:

adb install Name-Of-Your-Application.apk

如果上述开通arm的脚本安装失败,比如一直卡在下面这个画面:

那么你可以直接删除anbox:

sudo snap remove anbox

如果我们仍希望在manjaro上运行安卓程序,那么还有一个方法,也许更好,那就是xDroid,我将在下一篇对此进行介绍。

20220401 补充:最终我放弃anBox,不再尝试再manjaro上运行安卓程序,转而使用另外的系统fydeOS来实现电脑上运行安卓的目的。见《关于在manjaro上使用安卓APP的问题

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注