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的问题》