设备
模拟器多开同步运行:MAS 设备组
在 Macro Automation Studio 中把多开的安卓模拟器窗口和云设备编成设备组,给每台设备分配宏、参数和代理,实现模拟器多开同步一键启动。
- Windows
- Mac
- 模拟器
- 云手机
- Studio
- API
本页目录
设备组是 Macro Automation Studio(MAS)用来在多台设备上运行宏的单位,无论是模拟器多开同步运行的一组窗口,还是一组云设备。组里每台设备都有自己的宏、参数、代理和 Webhook,组本身有全部启动和全部停止。这一页介绍两种组类型、按设备配置、批量运行、日志和定时。
开始之前
- 已安装 MAS 并用有效的试用或套餐登录。
- 本地组:一个或多个模拟器实例正在运行,并已开启 ADB。端口规则见设备。
- 云端组:至少在云设备页创建了一台云设备。参见云设备。云设备页说明了附加项包含什么。
两种组
一个组只容纳一种设备,在创建时选定,之后不可更改:
| 类型 | 类型选项 | 容纳的设备 | 宏在哪里运行 |
|---|---|---|---|
本地(byod) | 本地 | 这台电脑上的模拟器,以及通过 adb 连接的你自己的手机 | 在这台电脑上,通过 adb 驱动设备 |
| 云端 | 云端 | MAS 为你运行的云设备 | 在 MAS 服务器上,所以应用可以关闭 |
云设备只能加入云端组,模拟器只能加入本地组。混用会被拒绝并提示 “a cloud device can only be added to a cloud group”。
创建组
- 在侧边栏打开设备组,点击新建组。
- 输入 3 到 255 个字符的名称和可选的描述。
- 选择类型:本地或云端。
- 点击创建组。
组列表显示每个组的设备数和实时的运行中设备数。可以用网格或表格视图,按名称、创建时间或设备数排序,按名称搜索。编辑可以修改名称和描述;类型不能改。
添加设备
- 打开组,点击添加设备。
- 输入设备名称。
- 在端口下选择模拟器的端口。点击刷新重新扫描,或选择自定义端口并输入。
- 可选:选择一个启动宏。
- 点击添加设备。
- 打开组,点击添加云设备。
- 从列表中选择一台设备。已在这个组里的设备会被隐藏。
- 点击添加。
云设备在云设备页创建,不在这里。列表为空时,对话框会链接到那里。
BlueStacks、LDPlayer 和其他多开安卓模拟器
每个模拟器实例监听自己的 adb 端口,MAS 把每个端口当作一台单独的设备。所以三个 BlueStacks 窗口或三个 LDPlayer 实例会成为组里的三台设备,各有自己的宏和参数。BlueStacks、LDPlayer、MuMu Player 和 MEmu 指南说明每个实例的端口在哪里,多开指南完整演示了一个多开挂机场景。
配置每台设备
每张设备卡片都有同样的控件:
- 宏:选择这台设备运行的宏。没有宏的设备会被全部启动跳过。
- 宏设置:打开这个宏在这台设备上的参数表单。顶部的方案栏决定值存在哪里:一个由所有跟随它的设备共享的设置方案,或者自定义(仅此设备)。保存方案会更新所有使用它的设备,栏上会显示有多少台。每个宏都有一个无法删除的 Default 方案。新建把当前值保存为新方案。
- 运行次数:宏在这台设备上重复多少次。
- 高级设置:代理选择器、显示有多少 Webhook 会收到这台设备通知的通知行(附管理链接),以及今日代理流量。
- 编辑设备修改名称和端口;垃圾桶按钮把设备从组里移除。
修改宏或运行次数后点击保存更改。代理和方案的选择会自动保存。
按设备设置代理
在代理下拉框中选择一个代理;无代理清除它。每台设备一个代理,默认为固定模式,所以每台设备保持自己的 IP。在模拟器上,代理在每次运行期间生效;在云设备上,它在设备下次启动时生效。细节、限制以及 Webhook 中的出口 IP 见代理页。
按设备设置 Webhook
Webhook 端点在 Webhook 页上设定作用范围:所有设备、指定的组或指定的设备。设备卡片只显示有多少端点覆盖这台设备;要改范围请到 Webhook 页。运行事件携带 device_id、device_name、device_port 和 group_id,所以一个端点就能区分设备。参见 Webhook。
启动与停止
卡片上的启动只运行这一台设备。本地设备由 MAS 通过 adb 连接并启动宏;云设备则启动一次服务端运行。
全部启动运行整个组:
- 设备按列表顺序依次启动,间隔半秒。
- 没有分配宏的设备会被跳过并计为失败;其余设备照常启动。
- 结果是一个计数,例如 9 台成功、1 台失败,提示框中最多显示 5 条错误信息。正在启动所有设备对话框显示进度和操作日志。
- 在云端组中,全部启动依次为每台设备启动一次服务端运行。套餐的运行中设备上限仍然适用,无法启动的设备会在自己的提示框中说明。
全部停止以同样的方式结束组里的每次运行。停止云端运行会保持云设备开机。
每张卡片显示自己的状态:已停止、连接中、下载中、启动中、运行中、停止中或错误。组标题把它们汇总为在线、空闲和错误的数量。
按设备查看日志
每张卡片都有一个仪表盘标签页(宏有运行时 UI 时显示它)和一个日志标签页(显示这台设备自己的输出):
- 按全部、用户、执行、错误或警告筛选。用户行是你脚本自己的
print和mas.log输出;执行行来自运行器。 - 搜索日志按文本筛选,跟随让最新一行保持在视野内,时间切换时间戳。
- 保存把日志写入文件;清空清空面板。
代理和 Webhook 事件出现在同一个面板中,例如 “Proxy connected via office, traffic routed through 203.0.113.9”。云设备的面板显示服务端运行输出的末尾。已完成的运行连同退出码和时长列在运行记录下。
为组设置定时任务
定时任务在你选定的时间、在一个端口上运行一个宏。要为整个组设置定时,请为每台设备创建一个时间和重复规则相同的任务。属于某个组的设备上的定时运行会携带该组的 ID,所以以组为范围的 Webhook 也会触发。
供 API 密钥使用的组和设备路由
API 密钥可以读取你的组和设备:GET /api/emulator/groups 和 GET /api/emulator/devices。两者只返回密钥所有者拥有的内容,设备行包含端口、宏、组和设置方案。创建、编辑和删除组或设备,以及启动或停止它们,需要应用自身的登录。参见 REST API。
故障排查
全部启动报告有设备失败
打开提示框或操作日志。“device X has no macro assigned” 表示卡片没有选择宏。无法连接的本地设备会带着 adb 错误失败;按照 ADB 故障排查处理。已经启动的设备会继续运行。
云设备无法加入组
这个组是本地组。创建一个类型设为云端的组,把设备加到那里。同样的规则也阻止模拟器加入云端组。
两个实例显示相同的端口
每个端口只属于一台设备。如果两个模拟器窗口报告同一个端口,其中一个的 ADB 是关闭的,或者没有完全启动。等第二个实例启动完成,在端口列表中点击刷新,然后用它自己的端口添加。
下一步
相关页面
谢谢。如果有哪里不对,请在 Discord 告诉我们。
有疑问? 在 Discord 提问