原理介绍

在手机中搭建Linux虚拟机,在虚拟机中下载Maa,然后解压配置启动。

Linux虚拟机方案

  1. 使用linux deploy(需要ROOT)

这是我目前使用的方案,也是本文主要演示的方案。

linux deploy可以配置开机启动自启脚本,十分方便,推荐使用。

  1. 使用Termux安装Linux

建议还是安装一下Termux,用来作为SSH访问的终端也不错。

Termux相关配置。


Termux安装Linux 来自互联网的方案:

虚拟机搭建

linux deploy安装及配置

下载完毕后,打开APP,并允许Root权限

点击右下角的选项,进行配置。建议进行如下配置:

  • 发行版 GNU/Linux 选择 Ubuntu

  • 架构选择arm64

  • 发行版本 GNU/Linux 版本选择kinketic

  • 源地址改为http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports

  • 安装类型选择目录

  • 本地化选择zh_CN.UTF-8

  • 初始化系统可用于开机执行脚本,建议使用run-parts

  • SSH选择启用。具体配置根据个人而定,此处选择默认。

  • 其它配置,详情见官方文档。

配置完毕后,回到首页,点击右上角,选择安装。等待安装结束,结果如下图。

Screenshot_20230807-153235_Linux_Deploy

安装完毕后,点击首页的启动

启动完毕后,使用Termux或者其它ssh工具连接Linux。命令如下:

1
ssh android@这里填APP上面写的IP地址 

安装Termux

MAA安装及配置

安装MAA

配置完Linux系统后,使用Termux SSH连接我们创建好的

选择aarch64架构的版本。

此处以MAA-v4.21.0-linux-aarch64.tar.gz作演示。

新建MAA文件夹,下载压缩文件后解压。

1
2
3
4
5
sudo apt install wget -y
mkdir MAA
cd MAA
wget https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases/download/v4.21.0/MAA-v4.21.0-linux-aarch64.tar.gz
tar -zxvf MAA-v4.21.0-linux-aarch64.tar.gz

解压完毕后,进入解压后的文件目录。

进入Python目录,编辑sample.py文件,该文件为程序的主入口文件。

下面为配置好的文件,复制可以直接使用,更多配置请参考:/docs/3.1-集成文档.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import json
import pathlib
import time

from asst.asst import Asst
from asst.utils import Message, Version, InstanceOptionType
from asst.updater import Updater
from asst.emulator import Bluestacks


@Asst.CallBackType
def my_callback(msg, details, arg):
m = Message(msg)
d = json.loads(details.decode('utf-8'))

print(m, d, arg)


if __name__ == "__main__":

# 请设置为存放 dll 文件及资源的路径
path = pathlib.Path(__file__).parent.parent

# 设置更新器的路径和目标版本并更新
# Updater(path, Version.Stable).update()

# 外服需要再额外传入增量资源路径,例如
# incremental_path=path / 'resource' / 'global' / 'YoStarEN'
Asst.load(path=path)

# 若需要获取详细执行信息,请传入 callback 参数
# 例如 asst = Asst(callback=my_callback)
asst = Asst()

# 设置额外配置
# 触控方案配置
asst.set_instance_option(InstanceOptionType.touch_type, 'maatouch')
# 暂停下干员
# asst.set_instance_option(InstanceOptionType.deployment_with_pause, '1')

# 启动模拟器。例如启动蓝叠模拟器的多开Pie64_1,并等待30s
# Bluestacks.launch_emulator_win(r'C:\Program Files\BlueStacks_nxt\HD-Player.exe', 30, "Pie64_1")

# 获取Hyper-v蓝叠的adb port
# port = Bluestacks.get_hyperv_port(r"C:\ProgramData\BlueStacks_nxt\bluestacks.conf", "Pie64_1")

# 请自行配置 adb 环境变量,或修改为 adb 可执行程序的路径
if asst.connect('/usr/bin/adb', '127.0.0.1:5555'):
print('连接成功')
else:
print('连接失败')
exit()

# 任务及参数请参考 docs/集成文档.md

asst.append_task('StartUp',{
"client_type":"Official",
"start_game_enabled":True
})
asst.append_task('Recruit', {
'select': [4],
'confirm': [3, 4],
'times': 4
})
asst.append_task('Infrast', {
'facility': [
"Mfg", "Trade", "Control", "Power", "Reception", "Office", "Dorm"
],
'drones': "Money"
})
asst.append_task('Visit')
asst.append_task('Mall', {
'shopping': True,
'buy_first': ['招聘许可', '龙门币'],
'blacklist': ['家具', '碳'],
})
asst.append_task('Fight', {
'stage': '1-7',
'report_to_penguin': False,
"client_type": "Official"
})

asst.append_task('Award')
# asst.append_task('Copilot', {
# 'filename': './GA-EX8-raid.json',
# 'formation': False
# })
asst.append_task('Roguelike',{
"enable":True,
"theme": "Sami",
"mode":0
})
# asst.append_task('Custom', {"task_names": ["AwardBegin"]})
asst.start()

while asst.running():
time.sleep(0)

关闭和开启版本更新检查

编辑sample.py文件,使用井号#注释掉下面这句代码:

1
2
# 设置更新器的路径和目标版本并更新
Updater(path, Version.Stable).update()

上面的文件默认已经关闭了版本更新

启动MAA

完成所有配置后,只需要使用python3 sample.py启动即可。

需要切换到sample.py文件所在目录进行执行。

1
2
#如果没有python3就安装一下
apt install python3 -y
1
python3 sample.py

终止任务

使用组合键CTRL+C