设备
云手机 24 小时挂机:创建、查看与运行宏
在 Macro Automation Studio 中创建安卓云手机,通过 WebRTC 查看画面,安装 APK,在电脑关机时于服务端运行宏,并处理卡住的云设备。
- Windows
- Mac
- 云手机
- Studio
- API
- MCP
本页目录
云设备是 Macro Automation Studio(MAS)在自己的 GPU 主机上为你运行的安卓设备,也就是一台可以云手机挂机的安卓云手机。它在应用里和你的本地模拟器并排出现,通过 WebRTC 串流屏幕,并在服务端运行宏,所以你的电脑可以关机。这一页介绍如何创建、它的状态、应用、运行和限制。
开始之前
什么是安卓云手机
每台云设备都是 MAS 数据中心里一台完整的安卓设备,在服务器 GPU 上渲染。启动和停止需要实际时间:全新开机约 48 秒,恢复约 17 秒,停止约 9 秒。屏幕以 WebRTC 串流送达,携带视频和你的点击,同一时间只有一个观看者持有它;在别处打开时,卡片会显示一个眼睛图标和正在被实时查看。宏在设备旁边的 MAS 服务器上运行,所以关掉应用不会结束运行。已安装的应用和已登录的账号在停止后保留;只有删除会清除它们。
创建云设备
- 在侧边栏打开云设备。
- 输入设备名称。
- 选择 Android 版本。列表来自服务器;默认是 Android 15。
- 选择分辨率:轻量(540 x 960)、标准(720 x 1280)或高清(1080 x 1920)。高清串流的像素约为两倍,需要更多带宽。
- 选择 DPI,或保留默认,即预设自身的密度。允许的值是 160、240、320 和 480。
- 可选:勾选包含 Google Play 商店(见下文)。
- 点击创建。
设备以已停止状态出现;创建不会启动它。版本、分辨率和 DPI 一经创建就固定,所以想要不同配置就得新建设备。页面标题按你的套餐统计运行中和已分配的设备数量,一个账户最多可持有 20 台云设备。
安卓云手机上的 Google Play
Google 应用按设备自愿选择。创建设备时勾选包含 Google Play 商店,或在已有设备上点击添加 Google Play:设备会重启一次,约 15 秒,数据保留。为全部设备添加 Google Play 会覆盖所有还没有的设备。
第一次时,MAS 会显示安装 Google 应用免责声明,每个账户接受一次。简单来说:设备安装的是 MindTheGapps,一个由 LineageOS 开发者维护的独立开源软件包,包含 Google Play 商店、Google Play 服务和 Google 服务框架。MAS 与 Google 没有关联,未获其认可或授权;MAS 和 MindTheGapps 项目都不向你授予任何 Google 应用的许可,你对 Google 应用和任何 Google 账号的使用受 Google 自己的服务条款约束。虚拟设备未通过 Play Protect 认证,所以校验设备完整性的应用无法使用:银行和支付应用、Google Wallet、高清或 DRM 流媒体,以及部分游戏。安装和使用 Google 应用的风险由你自行承担。
带 Google Play 的设备会显示 Play 角标。安装失败时,卡片会提供重试。
设备状态
| 状态 | 含义 |
|---|---|
| 已停止 | 已分配、未运行、数据保留。不计入运行中。 |
| 分配中 | MAS 正在寻找有空位的主机,或正在开通新主机(约 15 分钟)。 |
| 启动中 | 安卓正在开机:首次开机通常不到 1:30,恢复不到 0:20。 |
| 就绪 | 运行中。你可以查看它、安装应用和运行宏。 |
| 停止中 | 正在关机,通常不到 0:10。 |
| 错误 | 出了问题。卡片显示原因,启动会重试。 |
每次状态切换都是异步的;设备切换期间卡片会显示已用时间。
启动、停止与删除
- 启动开机。当套餐里的每个运行槽位都被占用时,会失败并提示类似 “2 of 2 running, stop one to start another” 的消息。
- 停止释放运行槽位和主机的 GPU 与内存,同时保留磁盘。启动会恢复它。
- 删除销毁设备和它上面的一切:已安装的应用、已登录的账号、游戏进度。对话框会先告诉你。
没有活动运行的运行中设备会在 60 分钟后自动停止。数据会保留;启动几秒钟就能恢复。正在运行的宏会让设备保持开机。
查看实时屏幕
在就绪的设备上点击查看。正在协商串流表示 WebRTC 连接正在建立;连上之后,你的点击、拖拽和按键会直接送到设备,标题栏提供全屏、返回、主页和关闭。关闭查看器会把串流释放给另一个窗口。在设备组中,云设备卡片有实时查看,会把同一个查看器停靠在卡片旁边。
安装应用
在就绪的设备上点击安装 APK。选择器提供三条路径:
- 上传文件(.apk / .xapk):一个不超过 1 GiB 的
.apk、.xapk、.apkm或.apks文件。MAS 检查它,上传到设备的主机并在那里安装。容器格式会被解包,32 位和 x86 分包会被丢弃,扩展文件会被放好,其余部分作为一个包安装。没有 arm64 版本的包会在上传前被拒绝;云设备只支持 64 位 ARM。 - 搜索并下载应用:输入应用名称,或粘贴链接或包名,然后点击安装。MAS 在这台电脑上下载应用,并以同样的方式安装。
- 管理已安装应用:查看设备上有什么,在目录有更新版本时更新应用,或用垃圾桶按钮卸载(点击两次确认)。标题栏显示已用应用槽位与设备上限。
进度显示在卡片上:正在检查应用、正在上传应用、正在安装应用。失败时会原样显示原因,包括 adb 的 INSTALL_FAILED 代码。
在云手机上 24 小时挂机运行宏
- 启动设备,等待就绪。
- 在卡片上点击运行,选择一个 Python 宏。
- 关注运行状态行:启动中、运行中并显示已用时间、已完成或已失败。停止运行结束运行并保持设备开机。
运行开始前,MAS 会同步你的代码:它对宏的项目文件夹做哈希,只有目录树变化时才上传快照。一个快照最多 500 个文件、压缩后 10 MiB;.git 和 .venv 这样的点文件夹,以及 __pycache__、node_modules、venv 和 .pyc 文件会被跳过。超出限制的项目会在运行前失败并说明原因,例如 “project has more than 500 files”。云端运行的就是这个快照,所以 Code Editor 的工作目录无需提交或推送就能执行。参见 Git 项目与代码同步。
从云端设备组启动的运行使用设备的宏及其参数或设置方案,并在卡片中显示脚本输出。每次运行都会记入运行记录,带有状态。
云设备组与代理
一个设备组只容纳一种设备。创建一个类型设为云端的组,点击添加云设备并选择一台已分配的设备;云设备只能加入云端组。组里每台设备都有自己的宏、参数或设置方案、代理和 Webhook,全部启动会依次为每台设备启动一次服务端运行。参见设备组。
绑定到云设备的代理会在设备下次启动时应用到设备的网络内部,所以它的全部流量都从代理出口,卡片会显示出口 IP。参见代理。
REST API 与 MCP
有了 API 密钥,你可以启动和监视服务端运行:带 macro_id 和可选 args 的 POST /api/hosted/devices/{id}/run、POST /api/hosted/runs/{id}/stop、GET /api/hosted/runs/{id},以及用于同步代码的 GET /api/macros/{id}/code-state 和 POST /api/macros/{id}/code-snapshot。设备生命周期、串流和应用安装需要应用自身的登录。参见 REST API。MAS MCP 服务器把云设备暴露给 MCP 客户端。
费用
云设备是任何付费套餐的附加项,按设备按月计价,并包含每月供 MAS Agent 使用的 AI 积分额度。可以在周期中途增减设备;变更按比例计费,续费日期不变。参见价格页和计费。
故障排查
设备卡在分配中或启动中
分配中表示还没有主机有空位。MAS 会开通新主机,大约需要 15 分钟,之后设备会自行继续。如果 45 分钟内仍没有空位,设备会进入错误并提示 “no capacity became available”,启动会重试。首次开机通常在 1:30 内完成,恢复在 0:20 内;如果已用时间远超这个数,点击停止,等待已停止,然后再启动。这也会把设备迁移到当前主机上,从而解决 “this device’s host does not support APK installs yet”。
串流无法连接
- 设备必须处于就绪。已停止的设备会回复 “The device must be running before you can view it”。
- 卡在正在协商串流:串流凭证的有效期很短,关闭查看器再点击一次查看,或在出现时点击重新连接。
- 在别处打开:同一时间只有一个观看者持有串流。在另一个窗口或 MAS 实例中关闭它。
- 拦截 WebRTC 的网络永远画不出视频。换一个网络试试,然后到 Discord 提问。
应用安装失败
- “this package has no arm64-v8a build”:应用只提供 32 位或 x86 代码。获取 arm64 版本。
- “not a valid APK”:文件不是安卓安装包,或者已损坏。
- “the limit is 1024MB”:安装包超过 1 GiB。
- “INSTALL_FAILED_MISSING_SPLIT”:包不完整。下载完整的 XAPK 再安装。
- “install timed out”:主机负载过高。几分钟后重试。
下一步
相关页面
谢谢。如果有哪里不对,请在 Discord 告诉我们。
有疑问? 在 Discord 提问