写在前面

众所周知,MAA是一款很好用的明日方舟挂机工具。

因为各种各样的原因,我经常需要一直挂着MAA。但电脑一直开着未免有点太浪费电了,因此便想着能不能在纯手机端进行部署。

本文操作较为繁琐,但我目前是真没找到啥更好的方案

本文最终的目的是运行maa-cli而非GUI版本

准备工作

1.一部安卓设备(Android11及以上,无须root,aarch64架构)

2.设备连接至局域网(流量不行)

3.掌握基本的Linux操作

安装Linux容器

MAA并没有提供安卓版本(废话),但有提供Linux aarch64版本。所以,要想运行MAA,还得先装上Linux容器。

1.安装Termux

Termux是一款基于Android平台的终端仿真器。我们将以它为基础安装一个完整的Linux容器。

Termux的安装非常简单,只需要从它Github的Release界面下载安装包安装就行了(arm64-v8a)。

安装完成后,打开Termux。

2.安装Linux容器

经测试,单Termux是无法运行MAA的。所以一个完整的Linux容器是必须的。

我们使用tmoe(官方手册)进行这一步的安装。

运行:

curl -LO https://l.tmoe.me/2.awk; awk -f 2.awk

随后跟着脚本一路安装下去即可。部分需要操作的内容如下(其余的选项基本无脑y/回车即可,但也要注意输出内容,防止出错):

这一步选择proot容器。

这里选择arm64发行版列表,并在之后的菜单中根据自己的喜好选择发行版(最好选择较新的版本,不然容易导致软件源里gcc版本过低导致无法运行,还要编译安装很麻烦)(我选的是Debian13)。

这里直接exit。

现在,一个完整的Linux容器已经安装完成了,正常情况会自动进入到容器内,Termux的home目录也生成了容器选择菜单.sh ,可以通过./容器选择菜单.sh启动容器。

下载MAA

现在手机上有一个可以运行的Linux容器了,下一步就可以下载MAA了。

确保与Github的连接畅通(或者干脆用镜像站),然后在容器里运行:

(截止到写本文的时候,MAA的最新版本为v4.28.8,请根据实际需要修改)

wget https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases/download/v4.28.8/MAA-v4.28.8-linux-aarch64.tar.gz
mkdir maa
cd maa
tar -zxvf ../MAA-v4.28.8-linux-aarch64.tar.gz
./maa install

操作完成后,执行./maa version,成功安装的话会有如下输出:

maa-cli v0.3.12
MaaCore v4.28.8

启动无线调试

MAA的操作是基于adb的,我们可以通过无线调试实现adb本机的操作。

手机中找到设置-开发者选项-无线调试,开启并进入。Termux退出容器回到Termux终端,执行pkg i android-tools 安装adb

分屏,这时屏幕上一半是无线调试的设置界面一半是Termux终端。无线调试点开使用配对码配对设备,然后在Termux中执行:

adb pair 127.0.0.1:端口号

然后输入六位数配对码,点击回车,完成配对。

重新进入容器,执行:

apt install adb
adb connect 127.0.0.1:端口号(注意:两次的端口号不一样,一个是配对,一个是连接)

执行adb devices ,出现以下输出:

List of devices attached
127.0.0.1:端口号 device

修改分辨率

MAA只支持16:9的分辨率,但现在市面上大部分手机都不是这个比例。

执行:

adb shell wm size 1080x1920

将分辨率设置为1080x1920

若要重置分辨率,执行:

adb shell wm size reset

运行MAA

参考官方CLI使用指南

一些问题

1.无线调试的端口会变,每次变化都要修改asst.toml里的device项的端口号

2.若出现如下报错:

thread 'main' panicked at /project/maa-sys/src/binding.rs:28:1:
called `Result::unwrap()` on an `Err` value: DlOpen { desc: "/lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30\' not found (required by /root/.local/share/maa/lib/libMaaCore.so)" }

则大概率为gcc版本过低,若apt upgrade显示已经为最新版本则需要换更新的发行版或编译安装新版gcc。