这台云手机什么时候能建好?上周同事问我的时候,我正对着一排实体Android设备发呆。他那边有个移动端业务问题需要反复复现,人工点手机不仅慢,界面状态还会被搞乱。我当时的回答就是:别用真机了,直接用 Open-AutoGLM 配合 Redroid 云手机,把整套自动化控制跑在 Ubuntu 22.04 服务器上。折腾了几天之后,这套方案已经稳定跑通,所以把完整的部署过程和中间踩过的坑整理出来。
这套玩法的基本思路很简单:宿主机装 Ubuntu 22.04,Docker 里跑一个 Redroid 容器作为云手机,Open-AutoGLM 通过 ADB 连接这台云手机,用视觉语言模型理解屏幕截图,再自动生成点击、滑动、输入等操作。它解决的痛点很明确:不受实体硬件限制、可以快速批量创建实例、随时清空恢复初始状态。如果你正在做 App 自动化回归、AI 手机 Agent 实验,或者想把企业应用的移动端操作路径自动记录下来,这套环境值得一试。
1. 这套方案到底怎么运转的:Open-AutoGLM 和 Redroid 的分工
1.1 为什么要把自动化控制搬到云手机上
我最早做移动端自动化时,用的都是真机。真机的第一个问题是设备分散,团队里可能有小米、华为、三星,Android 版本从 10 到 14 都有,分辨率密度五花八门,同一个自动化脚本在不同机型上表现完全不同。第二个问题是状态管理困难,跑完一轮测试之后手机界面可能停在某个弹窗上,要么手动复位,要么重新刷机,时间全耗在恢复环境上。第三个问题是没法规模化,想同时验证 5 个账号、5 条业务路径,就得有 5 台设备。
Redroid 这类云手机把这些问题都绕开了。它本质上是一个跑在 Docker 容器里的 Android 系统,没有屏幕、没有实体电池、没有基带,但进程管理、界面渲染、应用安装、ADB 调试这些核心能力都和真机一致。容器可以随时删除重建,重建之后就是一台完全干净的新手机。这点对 Open-AutoGLM 尤其重要,因为 AI Agent 在操作过程中可能会把页面状态搞乱,也有可能点错按钮进入一个奇怪的界面,真机状态下要人工恢复,云手机状态下直接删容器重启,几十秒又是一台干净的设备。
1.2 Open-AutoGLM 在中间扮演什么角色
传统自动化脚本靠的是硬编码坐标和控件 ID,页面只要改版,脚本就废了。Open-AutoGLM 不一样,它是一个“看屏决策”的智能体流程:先对屏幕截图,让多模态视觉模型理解当前界面内容,然后根据用户目标生成下一步动作,比如点击某个文字、输入一段内容、滑动列表,执行完动作之后再截图,形成闭环。
它和 Android 设备的通信走的是 ADB,所以对于 Open-AutoGLM 来说,连接一台 Redroid 云手机和连接一台真机没有任何区别。这也是为什么两者搭配起来非常自然:Open-AutoGLM 只关心设备是否能被 ADB 访问、屏幕是否能正常截图、输入事件是否能注入,至于设备是实体机还是容器,它完全无感。换句话说,Redroid 解决的是“设备从哪来、状态怎么恢复”的问题,Open-AutoGLM 解决的是“怎么自动操作系统”的问题,两者分工非常清晰。
1.3 为什么选 Ubuntu 22.04 LTS 做宿主机
选择 Ubuntu 22.04 LTS 不是随便定的,我对比过其他发行版,最后锁在这一版上。原因有三个:第一,内核版本与 redroid 官方预编译的 binder/ashmem 模块兼容性比较好,Ubuntu 22.04 默认内核在 x86 平台下基本能找到对应模块,省去了自己编译内核模块的麻烦;第二,Docker、NVIDIA 驱动、Python 3.10 这些基础设施在 22.04 下都有成熟稳定的安装路径,Open-AutoGLM 需要 Python 环境,Redroid 需要 Docker 环境,两者都能在同一个系统里平滑共存;第三,Ubuntu 22.04 的维护周期到 2027 年,适合长期跑服务,不用担心系统被废弃。
另外补充一点,Redroid 也可以跑在 ARM 开发板上,比如 RK3588 这类平台,无人机地面站 QGC、激光雷达 SDK 这些行业软件在 Ubuntu 22.04 下也经常出现。也就是说,你用来跑 Open-AutoGLM 的宿主机,完全可以同时承担其他嵌入式开发任务,一套环境多个用途,对做机器人和物联网的人来说很划算。不过本文后面的所有命令和路径都以 x86 Ubuntu 22.04 为准,ARM 平台请另外参考官方说明。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Ubuntu 22.04 需要提前解决的两个硬问题
2.1 GPU 驱动:决定云手机的渲染方式
Redroid 是一个完整的 Android 系统,界面渲染绕不开 GPU 能力。部署之前必须先想清楚宿主机有没有可用的 NVIDIA 显卡,这直接决定了云手机的渲染模式。
如果宿主机有 NVIDIA 显卡,优先做 GPU 直通,渲染速度和流畅度接近真机。安装步骤大致是这样:
bash复制sudo apt update
sudo apt install ubuntu-drivers-common
