如何在无root的手机上自动刷明日方舟1-7

众所周知,刷明日方舟(特别是1-7)是一个机械枯燥的过程,因为当年的小马活动太肝,所以有人开发了一个使用ADB连接安卓模拟器自动刷关卡的脚本ArknightsAutoHelper。 但是这个脚本设计是在PC上跑的,如果将其迁移到手机上就会方便很多,本文主要内容主要探讨迁移的过程。

一些FAQ:

Q: 这对我的手机有什么样的要求?
A: 需要是安卓,不需要root,不需要面具,不需要xposed,存储空间大,性能不是很拉跨。

Q: 我的账号会被封吗?
A: 该工具通过ADB实现一些点按以及图像识别的功能,并没有篡改客户端数据或者伪装客户端发送数据,
并不是严格意义上的外挂。并且因为该工具是通过操纵官方客户端来实现自动刷关,所以官方对该脚本
识别和检测的难度大。另外玩家不能通过该脚本去完成一些本来做不到的东西,并没有破坏游戏的公平性。
此脚本问世大概一年多了,真没听说过谁的号被封了。

Q: 我的手机是苹果怎么办?
A: 换安卓吧少年。

Q: 我需要提前会一些什么技能?
A: 熟悉你现在用的安卓系统,对Linux命令有一定的了解,手机上有梯子。本文会尽量详细地介绍各个过程,
但也建议先了解一下tab键,上下方向键的作用,这对整个配置使用过程起着事半功倍的作用。

Q: 为什么要在手机上的虚拟机上运行明日方舟?
A: 可以后台运行,并且方便调节分辨率。

Q: 为什么要扶墙?
A: 上gayhub,不扶墙速度很便秘的。

下载配置VMOS

  1. 首先下载一个VMOS,启动之后现在上面安装明日方舟。
  2. 点开设置->其他设置->启用悬浮球,网络adb
  3. 分辨率设置->看广告增加分辨率->宽1920,高1080,DPI480,重启
  4. 发现界面是横着的——不要紧

安装Termux

Termux是安卓上不错的终端模拟器,也就是“命令提示符”,推荐在Google Play上下载安装,Termux的上手建议从 这篇文章开始,建议换成清华源,文章里有具体方法。如果你已经是一个命令行老玩家,这里推荐termux-ohmyzsh,然后你需要有一个终端下的文本编辑器,老玩家可以直接上vim,新手建议通过这篇文章学习一下nano, 学会保存,退出就可以。

接下来安装几个必要软件:

1
pkg install tree tesseract python

安装ADB

因为Termux的库中不包含adb,所以我们采用了这个方案
命令如下:

1
apt update && apt install wget && wget https://github.com/MasterDevX/Termux-ADB/raw/master/InstallTools.sh && bash InstallTools.sh

安装OpenCV

因为OpenCV官方没有对ARM进行编译,所以我们又要使用歪门邪道解决这个问题。我们加入了its-pointless的第三方仓库
来解决这个问题:

1
2
3
curl -LO https://its-pointless.github.io/setup-pointless-repo.sh
bash setup-pointless-repo.sh
pkg install opencv

验证一下安装结果:输入python,在交互式界面属于以下内容:

1
2
import cv2 as cv
cv.__version__

如果没有报错说明安装成功,按CTRL-D退出

配置ArknightsAutoHelper

运行以下命令:

1
2
3
4
5
6
pkg install git
git clone https://github.com/ninthDevilHAUNSTER/ArknightsAutoHelper.git
cd ArknightsAutoHelper
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install baidu-aip certifi chardet idna numpy Pillow requests ruamel.yaml
cp config/config-template.yaml config/config.yaml

然后编辑config/config.yaml,将adb_server改成127.0.0.1:5038,还可以选择配置上报企鹅物流相关操作,保存退出。

运行脚本

配置到这里就完全结束了,下面来看如何运行脚本:
首先启动虚拟机,在上面运行明日方舟,进入指定界面,执行以下指令:

1
2
3
cd ArknightsAutoHelper
adb connect localhost:5666 # 不同虚拟机的端口不同,VMOS是5666
python ArknightsShell.py -s -t 1-7:100 # 具体命令见GitHub页面

然后就可以快乐1-7了,建议在手机中将Termux和VMOS设置为允许后台运行,防止他俩被系统杀了。