很早之前折腾过麟卓,凤凰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