安卓自动化的主流做法是免 root,靠无障碍服务和 ADB 这两条安卓本身就开放的路子,让程序接管那些重复操作。
为什么脚本这件事特别适合交给 AI
两三年前,写安卓自动化脚本要自己懂控件树、图色识别、OCR,还要会调各种 API。现在有的场景里 AI 只能补几行代码,有的场景能把一条流水线做完。安卓自动化脚本更接近后面这种,靠的是文档结构化、CLI 可跑通、API 可查证。
| 原因 | 对 AI 编程说明什么 |
|---|---|
| 文档结构化 | API 说明清晰完整,AI 读得懂,生成代码有依据 |
| CLI 可跑通 | 编译/运行/截图/抓节点/OCR 全有命令,AI 能自己“看见”结果 |
| API 可查证 | 每一步输出都能核对,AI 不容易一本正经地瞎编 |
文档结构化是说 EasyClick 的 API 全部有文档:工程里 libs 目录下的 js 文件自带函数注释(基础函数看 basic.js、图像处理看 image.js、OCR 也在 image 里、节点相关看 nodeimage、截屏看 clorimage),每个函数的用途、参数、返回值都写在文件头的注释里。大模型读这种说明书比较顺。
CLI 可跑通是说开发通道里的每一步,编译、预览、运行、停止、截图、抓节点、OCR 识别、看日志,都有对应的命令行工具(ec-android-cli)。AI 能自己执行命令、自己拿到结果。写脚本、编译、跑起来、看屏幕、看日志,中间结果不用人来回拷。
API 可查证针对的是模型会编出不存在的函数。把真实文档喂给它之后,生成代码时能对着文档来,编译报错、运行出错时也能对着文档改。结果对得上文档,生成的代码才好用。
后面以 EasyClick 安卓版(免 root,官方文档)为例。脚本语言是 JavaScript,会点 JS 就能写,所有 Java 类库都可以直接调用。
搭环境、喂文档、跑通 CLI 流程
写脚本之前先把环境搭好。一是在 IDEA 装 EasyClick 安卓版开发插件建工程:当前最新版本为 12.4,推荐 IDEA 2026.2 及以上(装插件即可直接用,无需激活 IDEA);用 IDEA 打开一个空文件夹作为工作空间,右键新建模块,类型选“EasyClick 安卓版-脚本项目”,填一个模块名(中英文都行,别用特殊字符和空格)。二是 USB 连接设备:手机开启 USB 调试,在 IDEA 菜单“EasyClick 安卓版 - 设备连接 - 选择 USB 链接”,连接时工具会自动安装运行环境 APK(第一个工程教程)。三是用 Cursor/Trae 打开工程:选工程文件夹,不要选到模块。选错层级,AI 就看不到完整的工程结构。
如果工程里没看到 ec_work_config/android/bin 目录,说明插件还没把 CLI 生成出来,关闭 IDEA 重新打开工程文件夹即可。这个目录存放 EC 安卓编译相关的 CLI 和 SKILL.md。
环境就绪后,先让 AI 知道它手上有什么工具。一是让它扫描工程结构和 SKILL.md:ec_work_config/android/bin 里的 SKILL.md 写了每个子命令的作用、参数、示例,还带一份 EC 脚本与 API 速查。二是 AI DOCS 一键安装全部文档(v12.1.0+):IDEA 顶部菜单有“安装 AI DOCS”,点一下就把全部文档装到工程后面,AI 可以本地检索完整 API 文档。它装的是文档。不同 AI 平台需要的提示词等文件,官方说明是需要自己生成处理的。三是 @Docs 添加文档链接:在 AI 对话框里输入 @,选 Docs,再选 Add new doc,把 EasyClick 的文档地址(https://ieasyclick.com/docs/)喂给 AI 让它自己抓取,文档会跟着官网更新。
AI 要能看到运行结果,才能自己改。ec-android-cli 把开发通道做成命令,每一项命令的输出就是下一步的输入:
| CLI 子命令 | 作用 | 给 AI 的输入 |
|---|---|---|
build |
构建 IEC 脚本包 | 编译日志(成功/失败) |
preview |
预览工程 | UI 预览日志 |
run |
运行工程 | 运行日志、报错信息 |
stop |
停止当前运行 | 停止结果日志 |
capture-screen |
从 IDEA 已连接设备抓取截图 | 屏幕画面 |
capture-node |
抓取 UI 节点(UIX,本质为 XML) | 控件树结构 |
ocr-local-image |
OCR 识别本地图像 | 图像中的文字 |
ocr-screen |
OCR 识别当前屏幕 | 屏幕上的文字 |
test-image |
图片模板匹配测试(本图/抓屏) | 识别测试结果 |
monitor |
仅持续输出日志流 | 实时日志流 |
几个使用要点(全部以官方 SKILL.md 文档为准):除 monitor 外,其余子命令都需要传 -m 模块名,多窗口、多工程时建议用 -p 传工程根目录,便于匹配到正确实例。日志默认输出 JSON 格式,可以用 -o 追加写入文件、用 -r 自动生成日志文件名(-r 与 -o 不能同时用)。build / run / preview 内置了默认停止关键字(比如编译成功、脚本已运行结束),也可以用 -k 自定义,日志中出现即结束监控,AI 拿到的是停在关键字上的那一段日志。preview / run 需要设备已连接到 IDEA,否则会提示无设备连接。
从一句人话到跑通脚本
把上面的通道串起来,一个完整的开发循环是这样。第 1 步用自然语言描述需求,比如:“写一个脚本:启动 App,找到’推荐’按钮点击,再滑动到页面底部。“第 2 步,AI 结合 SKILL.md 和 API 文档生成 JavaScript 脚本,例如(选择器与节点文档):
// 查找并点击"推荐"节点,找不到就记一条日志
let node = text("推荐").getOneNodeInfo(0);
if (node) {
node.click();
} else {
loge("未找到");
}
第 3 步编译 IEC:让 AI“编译 testai 工程”,AI 执行 ./ec_work_config/android/bin/ec-android-cli build -m testai,成功会产出 IEC 脚本包,失败就把编译日志丢给 AI,让它改到过为止。第 4 步预览或运行:设备连接后让 AI“预览 testai”或“运行 testai”,脚本就在真机上跑起来,真机预览还能把画面同步到 IDE。第 5 步看日志改错:运行中报错,比如卡密验证失败、节点没找到,把日志丢给 AI,说“刚才出现了卡密问题,帮我修复后继续运行”。它对着日志改代码,再编译再运行。官方有一个视频案例《EasyClick+Trae AI 写脚本做成了全自动!再也不用手敲代码了》(B 站)。
几条不能越过的边界
生成的代码要人看一遍。涉及输入内容、支付、卡密验证这类改了就回不去的操作,核对后再执行。编译、预览、运行、截图、OCR 都在真机(或 IDEA 已连接设备)上做完,才算这条脚本过了。ec-android-cli 依赖本机已启动 IntelliJ IDEA、已加载 EasyClick 开发工具插件且插件能响应命令,命令行里的模块名要和 IDEA 中的模块名一致。条件不满足时命令会直接失败,先查环境。AI DOCS 装的是文档。不同 AI 平台的提示词和配置文件,官方说明需要自己生成处理。CLI 给 AI 的是日志、截图、节点、OCR 结果。怎么改,由 AI 出一版,人来定。
关于 EasyClick:手机自动化脚本开发平台,覆盖安卓免 ROOT、iOS 免越狱、鸿蒙三大手机生态,还提供苹果脚本编写、苹果群控、安卓群控、远程云控、AI 群控手机等。→ 了解全部产品
想要真实跑起来?
本文介绍的方案均可基于 EasyClick 能力在 iEasyClick 落地。官网提供完整文档、开发工具与自动化产品,免费体验。