声明
本文由 🤖AI 协作完成, 内容已过实际测试.
1. AutoGLM-Phone 简介
AutoGLM-Phone 是一个基于视觉语言模型(VLM)构建的 AI 手机智能助理框架。它能够以多模态方式深度理解屏幕内容,并通过 ADB 指令自动操控安卓设备。用户只需通过自然语言发出指令(例如“打开小红书搜索美食”),模型即可自动解析意图、识别界面元素、规划执行路径并完成操作,无需繁琐的手动交互。
2. 本地环境搭建
2.1 安卓模拟器配置
2.1.1 下载命令行工具
完整安装 Android Studio 虽然方便,但占用磁盘空间较大。这里推荐使用最小化命令行工具方案。请前往 Android Studio 官网(仅限命令行工具)下载对应工具,解压后部署到固定目录:
1 | cd $HOME/.local/opt/ |
2.1.2 配置环境变量
1 | export ANDROID_SDK_ROOT=$HOME/.local/opt/android_sdk |
Note
platform-tools 和 emulator 将在后续步骤中自动安装,此处提前配置是为了方便后续直接调用。
2.1.3 下载模拟器与系统镜像
1 | # 1. 接受许可证(此步骤为必须) |
Note
- 查询支持的镜像列表:
sdkmanager --list | grep "system-images" - 查看适配 macOS 平台的镜像:
sdkmanager --list | grep "arm64-v8a" - 若需清理磁盘空间,可删除下载的镜像:
rm -rf $ANDROID_SDK_ROOT/system-images/android-31/google_apis/x86_64
2.1.4 创建并启动模拟器
1 | # 创建一个名为 google_emulator 的模拟器 |
Note
若需删除模拟器,直接删除对应的文件夹即可。通过 avdmanager list 可查看模拟器文件的具体存放位置。
2.1.5 测试连接
文件目录结构检查
安装完成后,
android_sdk目录结构应如下所示:1
2
3
4
5
6
7
8
9
10
11
12➜ ~ tree -L 2 .local/opt/android_sdk
.local/opt/android_sdk
├── cmdline-tools
├── emulator
│ ├── emulator
├── licenses
├── platform-tools
│ ├── adb
└── system-images
└── android-31
16 directories, 34 filesADB 连接验证
测试模拟器通信是否正常:
1
2
3
4
5
6
7
8
9
10
11# 1. 查看已连接设备
➜ ~ adb devices -l
List of devices attached
emulator-5554 device product:sdk_gphone64_arm64 model:sdk_gphone64_arm64 device:emulator64_arm64 transport_id:1
# 2. 在模拟器内截图并保存到内部存储
➜ ~ adb -s emulator-5554 shell screencap -p /sdcard/screen.png
# 3. 将截图传回本地电脑
➜ ~ adb -s emulator-5554 pull /sdcard/screen.png ~/Downloads
/sdcard/screen.png: 1 file pulled, 0 skipped. 39.9 MB/s (91544 bytes in 0.002s)Note
如果模拟器内应用界面卡死,可尝试以下命令恢复:
- 发送 Home 键指令:
adb -s emulator-5554 shell input keyevent 3 - 重启桌面 Launcher:
adb -s emulator-5554 shell am start -n com.google.android.apps.nexuslauncher/.NexusLauncherActivity
- 发送 Home 键指令:
2.2 安装 ADB 键盘
下载并安装 ADBKeyboard.apk,安装完成后需进入系统设置将输入法切换为 ADB Keyboard。
(下载地址:https://github.com/senzhk/ADBKeyBoard/blob/master/ADBKeyboard.apk)
1 | # 安装 ADB Keyboard |
2.3 项目部署
克隆项目
1
git clone https://github.com/zai-org/Open-AutoGLM.git
安装依赖
1
2
3uv venv --allow-existing --python 3.10 .venv
uv pip install -r requirements.txt
uv python pin 3.10验证设备连接
1
adb devices
运行模型
1
uv run python main.py --base-url https://open.bigmodel.cn/api/paas/v4 --model "autoglm-phone" --apikey $$AUTOGLM_API_KEY "回到首页"
3. 应用实测
安装目标 APK(如抖音、小红书)到模拟器:
1 | adb -s emulator-5554 install douyin-38-0-0.apk |
Note
推荐访问 Uptodown 下载所需的 APK 安装包。
1 | uv run python main.py --base-url https://open.bigmodel.cn/api/paas/v4 --model "autoglm-phone" --apikey $AUTOGLM_API_KEY "打开抖音,搜索美伊战争 最新消息, 注意精确定位搜索菜单位置防止误触到弹幕" |

4. QA 常见问题
Q: 模拟器侧边控制栏反应迟钝?
可能原因:
- 焦点丢失: 操作系统焦点未在模拟器窗口。建议先点击一下模拟器屏幕中心,使其获得焦点。
- 进程同步延迟: 直接通过
emulator命令启动时,UI 面板与内核通信链路建立可能存在延迟。 - 快捷键冲突: macOS 系统的全局快捷键(如输入法切换)可能拦截了模拟器的按键输入。
推荐方案:直接使用 ADB 命令替代物理按钮
直接通过终端发送命令,稳定性更高:1
2
3
4
5
6# 建议添加到 .zshrc 或 .bashrc 中
alias emu-home='adb -s emulator-5554 shell input keyevent 3'
alias emu-back='adb -s emulator-5554 shell input keyevent 4'
alias emu-recent='adb -s emulator-5554 shell input keyevent 187'
alias emu-input="adb -s emulator-5554 shell input text "
alias emu-del="adb -s emulator-5554 shell input keyevent 67"