在 Archlinux 上通过 ReDroid 容器运行明日方舟并使用 MAA 自动刷图
本文记录了我在我的 Archlinux 上通过 ReDroid 容器运行明日方舟并使用 MAA 进行自动刷图。
所需包的安装
|
|
linux-zen
: 启用了 binderfs 模块供 ReDroid 使用docker
: 用于运行 ReDroid 容器scrcpy
: 显示并控制安卓设备, 它依赖的 android-tools 中的 adb 也是要用到的
相关配置
linux-zen
由于我使用的 bootloader 是 systemd-boot, 所以只需要在 /boot/loader/entries
中新建一个 arch-zen.conf
并写入以下内容:
|
|
其中 UUID
的值是根分区的 UUID.
重启后不断按 ↓
键选择 Arch Linux-zen
后启动即可, 想要默认使用此项可以将 /boot/loader/loader.conf
中 default
的值改为 arch-zen.conf
.
docker
将当前用户加入 docker
组:
|
|
这样在使用 docker
命令是就不需要加上 sudo
.
使用 sudo systemctl start docker
启动 docker 服务, 或者使用 sudo systemctl enable --now docker
启动 docker 并设置为开机自启。
ReDroid 容器的启动
使用以下命令启动 ReDroid 容器:
|
|
第一次启动需要下载 ReDroid 镜像, 需要等待一定时间。
第一次成功启动之后再次启动可以使用 docker start redroid11
.
使用 docker stop redroid11
关闭该容器。
adb 和 scrcpy 的连接和明日方舟的安装
使用 adb connect localhost:5555
连接至 ReDroid 容器。
使用 scrcpy -s localhost:5555 --no-audio
获取容器的屏幕并进行操控。
在明日方舟的官网下载明日方舟的安卓版安装包之后, 使用 adb -s localhost:5555 install ~/Downloads/arknights-...
安装明日方舟。
安装完成后在 scrcpy 的窗口中下滑就可以看见, 启动并下载资源后登陆。
MAA 的配置与使用
在 MAA 的 github releases 中下载最新版的 MAA (例如 2024-05-31 最新版是 v5.3.1, 所以下载 MAA-v5.3.1-linux-x86_64.tar.gz 这个文件).
tar -xf
解压后进入 Python
目录, 其中的 smaple.py
是要运行的 python 文件, 将其中的 if asst.connect('adb.exe', '127.0.0.1:5555'):
改成 if asst.connect('adb', '127.0.0.1:5555'):
.
在我的使用中发现直接 python smaple.py
会卡住, 通过调试发现是卡在 asst/updater.py
中 Updater
的 __init__
中获取 MAA 当前版本的地方。
将 asst/updater.py
中的 self.cur_version = q.get()
改成 self.cur_version = "v5.3.1"
即可, 具体的值用下载到的版本, 并将以下内容注释掉:
|
|
使用 python smaple.py
即可正常启动, 其中的具体配置参见 MAA 集成文档。
之后便可以开始愉快的挂机了。