站点图标 姿势小王子

Archlinux安装Anbox——原生运行安卓app

很早之前折腾过麟卓,凤凰OS,用来跑安卓应用,可能自己电脑配置不好,运行起来不是很理想。也折腾过anbox,也有有一些bug。到现在anbox依然有很多bug,很容易崩溃。

anbox在 LXC 容器中运行 Android 环境,重新创建 Android 的目录结构作为可挂载的 loop 镜像,同时使用本机 Linux 内核来执行应用,所以没有虚拟化的开销,既轻量又保障了运行速度。

自己安装可以参考wiki:https://wiki.archlinux.org/title/Anbox

1、安装内核模块,虽然wiki上说linux-zen内核自带这个模块,但是自己试了一下,好像有些问题,还是使用的是linux内核。

#安装linux-headers,根据自己使用的内核安装。
sudo pacman -S linux-headers

#安装内核模块,xorg使用anbox-modules-dkms,wayland使用anbox-modules-dkms-git
yay -S anbox-modules-dkms

#临时加载模块
sudo modprobe -a binder-linux ashmem-linux

#查看是否正常加载
sudo ls -1 /dev/{ashmem,binder}

#如果有返回以下内容,则正常加载
/dev/ashmem
/dev/binder

#开机自动加载模块
sudo vim /etc/modules-load.d/anbox.conf

#添加以下内容
ashmem_linux
binder_linux

2、安装anbox安卓镜像。

yay -S anbox-image-houdini

#也可以安装其他镜像,根据自己的需求来。
anbox-imageAUR (官方镜像)
anbox-image-houdiniAUR (包含 Houdini)
anbox-image-houdini-rootedAUR (包含 Houdini 和 SuperSU)
anbox-image-gappsAUR (包含 Houdini 和 OpenGApps)
anbox-image-gapps-rootedAUR (包含 Houdini, OpenGApps 和 SuperSU)
您也可以通过在 AUR 内搜索 anbox-image找到更多的镜像。

3、安装anbox。

yay -S anbox-git

4、添加网络,自己用的是NetworkManager,可以添加一个桥接。

sudo nmcli con add type bridge ifname anbox0 -- connection.id anbox-net ipv4.method shared ipv4.addresses 192.168.250.1/24

#ifname anbox0 指定网桥接口名称,不要改变这个名称,因为 Anbox 仅会在名为 anbox0 的网桥接口。
#connection.id anbox-net 使用这个名称 anbox-net 当其运行于 NetworkManager. 你可随愿更改.

也可以试一下使用anbox-bridge添加网络。

#下载
sudo wget -O /usr/bin/anbox-bridge.sh https://raw.githubusercontent.com/anbox/anbox/master/scripts/anbox-bridge.sh

#可执行权限
sudo chmod +x /usr/bin/anbox-bridge.sh

#开机自启
sudo vim /etc/systemd/system/anbox-container-manager.service.d/enable-anbox-bridge.conf

#添加以下内容
[Service]
ExecStartPre=/usr/bin/anbox-bridge.sh start
ExecStopPost=/usr/bin/anbox-bridge.sh stop

5、运行anbox

#挂载binderfs
sudo mount -t binder none /dev/binderfs

#启动anbox服务
sudo systemctl start anbox-container-manager.service

#打开anbox应用之前可以先运行,后面打开应用就相对比较快了。
anbox session-manager

6、adb安装卸载应用。

更多adb命令可以参考:https://zsxwz.com/2021/01/31/

安卓app可以到apkmirror下载:https://apkmirror.com/

#安装adb
sudo pacman -S android-tools

#打开anbox adb之后查看是否正常连接
adb devices

#安装应用
adb install /path/to/app.apk

#查看应用列表
adb shell pm list packages

#卸载用户应用
adb uninstall app.name

#卸载系统应用
adb uninstall --user 0 app.name

最后视频教程:https://b23.tv/sK3QURx

退出移动版