# 云手机 24 小时挂机：创建、查看与运行宏

> 在 Macro Automation Studio 中创建安卓云手机，通过 WebRTC 查看画面，安装 APK，在电脑关机时于服务端运行宏，并处理卡住的云设备。

Source: https://automationmacro.com/zh-CN/docs/cloud-devices (设备, updated 2026-09-05)

云设备是 Macro Automation Studio（MAS）在自己的 GPU 主机上为你运行的安卓设备，也就是一台可以云手机挂机的安卓云手机。它在应用里和你的本地模拟器并排出现，通过 WebRTC 串流屏幕，并在服务端运行宏，所以你的电脑可以关机。这一页介绍如何创建、它的状态、应用、运行和限制。

## 开始之前

- 已安装 MAS 并登录。参见[安装 MAS](/docs/install)。
- 你的套餐至少包含一台云设备。云设备是付费套餐的附加项；参见[计费](/docs/billing)。
- 要运行宏：你的库里有一个 Python 宏。运行对话框只列出 Python 宏。

## 什么是安卓云手机

每台云设备都是 MAS 数据中心里一台完整的安卓设备，在服务器 GPU 上渲染。启动和停止需要实际时间：全新开机约 48 秒，恢复约 17 秒，停止约 9 秒。屏幕以 WebRTC 串流送达，携带视频和你的点击，同一时间只有一个观看者持有它；在别处打开时，卡片会显示一个眼睛图标和**正在被实时查看**。宏在设备旁边的 MAS 服务器上运行，所以关掉应用不会结束运行。已安装的应用和已登录的账号在停止后保留；只有**删除**会清除它们。

## 创建云设备

1. 在侧边栏打开**云设备**。
2. 输入**设备名称**。
3. 选择 **Android** 版本。列表来自服务器；默认是 Android 15。
4. 选择**分辨率**：**轻量**（540 x 960）、**标准**（720 x 1280）或**高清**（1080 x 1920）。高清串流的像素约为两倍，需要更多带宽。
5. 选择 **DPI**，或保留**默认**，即预设自身的密度。允许的值是 160、240、320 和 480。
6. 可选：勾选**包含 Google Play 商店**（见下文）。
7. 点击**创建**。

设备以**已停止**状态出现；创建不会启动它。版本、分辨率和 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 小时挂机运行宏

1. 启动设备，等待**就绪**。
2. 在卡片上点击**运行**，选择一个 Python 宏。
3. 关注运行状态行：启动中、运行中并显示已用时间、已完成或已失败。**停止运行**结束运行并保持设备开机。

运行开始前，MAS 会同步你的代码：它对宏的项目文件夹做哈希，只有目录树变化时才上传快照。一个快照最多 500 个文件、压缩后 10 MiB；`.git` 和 `.venv` 这样的点文件夹，以及 `__pycache__`、`node_modules`、`venv` 和 `.pyc` 文件会被跳过。超出限制的项目会在运行前失败并说明原因，例如 "project has more than 500 files"。云端运行的就是这个快照，所以 Code Editor 的工作目录无需提交或推送就能执行。参见 [Git 项目与代码同步](/docs/git-and-code-sync)。

从云端[设备组](/docs/device-groups)启动的运行使用设备的宏及其参数或设置方案，并在卡片中显示脚本输出。每次运行都会记入**运行记录**，带有状态。

> [!NOTE]
> 完成的宏在云设备上运行不消耗任何 AI 积分。只有 MAS Agent 在它上面编写时才消耗积分。

## 云设备组与代理

一个设备组只容纳一种设备。创建一个**类型**设为**云端**的组，点击**添加云设备**并选择一台已分配的设备；云设备只能加入云端组。组里每台设备都有自己的宏、参数或设置方案、代理和 Webhook，**全部启动**会依次为每台设备启动一次服务端运行。参见[设备组](/docs/device-groups)。

绑定到云设备的代理会在设备下次启动时应用到设备的网络内部，所以它的全部流量都从代理出口，卡片会显示出口 IP。参见[代理](/docs/proxies)。

## REST API 与 MCP

有了 [API 密钥](/docs/api-keys)，你可以启动和监视服务端运行：带 `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](/docs/rest-api)。[MAS MCP 服务器](/docs/mcp)把云设备暴露给 MCP 客户端。

## 费用

云设备是任何付费套餐的附加项，按设备按月计价，并包含每月供 MAS Agent 使用的 AI 积分额度。可以在周期中途增减设备；变更按比例计费，续费日期不变。参见[价格页](/pricing)和[计费](/docs/billing)。

## 故障排查

### 设备卡在分配中或启动中

分配中表示还没有主机有空位。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](https://discord.gg/macroautomationstudio) 提问。

### 应用安装失败

- "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"：主机负载过高。几分钟后重试。
