你所热爱的,就是你的生活
🌞

在 Arch Linux 上用 Anbox 玩舟游

%教程#anbox#arknights#archlinux📖 819

本文简单总结在 Arch Linux 上安装 Anbox 并用其来玩舟游的一些步骤。

注意:也许您应该多参考 ArchWiki 而不是本博客。

注意:Anbox 可悲的兼容性也许只能用来勉强玩玩舟游。

安装 Anbox

以前的直接安装 dkms 的方法已经在新版本的内核下失效,我们只能用别的办法。

安装内核

安装使用 linux-zen 内核。

sudo pacman -S linux-zen
# update grub (maybe differ)
sudo grub-mkconfig -o /boot/grub/grub.cfg

之后重启计算机。

添加 binderfs

sudo mkdir /dev/binderfs
sudo mount -t binder none /dev/binderfs

让系统每次启动的时候都自动执行上面的两行指令:

  1. 新建文件 /etc/tmpfiles.d/anbox.conf

    d! /dev/binderfs 0755 root root
    
  2. /etc/fstab 中最后添加一行

    none                         /dev/binderfs binder   nofail  0      0
    

安装 Android 镜像

sudo pacman -S anbox-image

不建议使用带 GApps 的镜像,因为你会发现 Google Play 里面的 App 一个都装不了。

安装 Anbox

sudo pacman -S anbox-git
sudo systemctl enable --now anbox-container-manager.service

配置网络

如果你用 NetworkManager:

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

启动 Anbox

直接在你的 kde 菜单里面找到 anbox,然后点击即可。

如果启动失败,则需要排查问题。

博主遇到的一个问题:

[client.cpp:48@start] Failed to start container: Failed to start container: Failed to set config item lxc.group.devices.deny

降级 lxc 至 4.0.6 版本解决。

安装舟游!

首先到官网里面直接下载 apk(不会真的有人玩 b 服吧)。

之后通过 adb 安装。

sudo pacman -S android-tools

adb devices
# you should see such that:
#   List of devices attached
#   emulator-5558	device

adb install Downloads/arknights-hg-1501.apk

等待片刻即安装完毕。

之后可以直接在系统 Applications 里面找到 Arknights,直接点击启动即可。

若干问题的解决方案

窗口上方的白条不见了

Q: 我怎么点什么按钮都有垂直方向上的偏差啊

这是因为你原来在窗口上方应该存在的高度 42px 的窗口栏不见了(因为特性)。

打开别的什么 Anbox App,或者在别的 Anbox App 里面多点几下,窗口栏应该会回来。

注意窗口栏回来之后就不要再修改窗口大小或者移动窗口了,否则他又会消失了。

或者参考我的 PR: anbox/anbox#1810

帧率太低

Q: 老子高配电脑怎么还掉帧啊

可能是你的 Nvidia 驱动没装好。

安装 Nvidia 驱动(警告:做好重装电脑准备):

sudo pacman -S linux-headers linux-zen-headers
sudo pacman -S dkms
pikaur -S nvidia-beta nvidia-beta-dkms opencl-nvidia-beta

然后重启(祝你好运)。

结尾

Anbox 虽然安装过程过于复杂,而且兼容性也非常感人,但是其性能是真的不错,比在 VirtualBox 里面用 Android x86 虚拟机不知道快到哪里去了。

另:欢迎加好友带带我 swwind#2659

💬 Replies

a
abola

按照wiki走一次成功,然后发现只兼容x86_64,没什么用。。这个框架的apk国内基本没有,除了半残的bilili(赞美b站,虽然闪退)。然后就开启了逆安装的过程ʱªʱªʱª (ᕑᗢᓫา∗)˒ anbox-image-houdini还没试过,不过已经麻利卸载掉了。我还是去搞模拟器虚拟arm框架吧,anbox虽然是底层兼容效率高但是兼容性差,并且谷歌play好像还已经不支持anbox了(还要一个原因是因为我用adb设置http代理然后没作用,就很无助了) 安装英伟达驱动的时候参考up主文章了,感谢O(∩_∩)O

February 17, 2022 2:12:27 PMReply
n
newbie

按步骤挂载binders之后,开关机还是提示[FAILED]failed to mount /dev/binderfs

January 7, 2022 8:56:10 PMReply
n
newbie

博主你好,我在开机和关机的时候都会提示[FAILED]failed to mount Android Binder File System,请问是怎么回事?虽然好像对正常使用没什么影响。

January 7, 2022 7:50:26 PMReply
avatar
steveyang137

请问楼主知道怎么修复 窗口上方的白条不见了 我怎么点什么按钮都有垂直方向上的偏差 的问题吗

October 23, 2021 2:32:47 PMReply
w
wind

博主你好,请教个问题. 我安装了linux-zen,更新了grub,启动anbox container mgr的时候,日志显示 /usr/bin/anbox: error while loading shared libraries: libboost_log.so.1.75.0: cannot open shared object file: No such file or directory 不知道你是否有遇到过呢

July 14, 2021 8:42:57 AMReply
avatar

因为当下arch的libboost_log.so是1.76.0了,1.75.0的同时期依赖大概是这些:

sudo pacman -U boost-1.75.0-3-x86_64.pkg.tar.zst boost-libs-1.75.0-3-x86_64.pkg.tar.zst libphonenumber-8.12.21-1-x86_64.pkg.tar.zst protobuf-3.16.0-1-x86_64.pkg.tar.zst android-tools-31.0.0-3-x86_64.pkg.tar.zst

July 27, 2021 10:10:00 AMReply
avatar

没有呢,但是看上去你应该是少了 boost 这个依赖。(好像是废话)

July 19, 2021 12:22:35 PMReply
avatar
ctc

tql。竟然更新了。

May 11, 2021 5:54:06 AMReply

New Reply