一、为什么自动化脚本特别适合 AI 编程
两三年前,写安卓自动化脚本还是件"手艺人"的活:要懂控件树、懂图色识别、懂 OCR,还要会调各种 API。现在 AI 编程把门槛大幅拉低了------但同样是"AI 编程",不同场景的体验差别很大:有的场景 AI 只能帮你补全几行代码,有的场景 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 不仅能"写代码",还能自己执行命令、自己拿到结果。写脚本 → 编译 → 跑起来 → 看屏幕 → 看日志,整条链路 AI 都能参与,不需要人肉搬运中间产物。
最后是"API 可查证"。大模型最大的毛病是凭空编造不存在的 API。把真实文档喂给 AI 之后,它生成代码时能对着文档来,编译报错、运行出错时也能对着文档改。结果可验证,是 AI 编程靠谱的前提。
一句话结论:安卓自动化是 AI 编程的理想场景------文档够全、工具够闭环、结果可验证 。剩下的问题只是"怎么把工程和文档喂给 AI",这正是本文要讲的实战流程。本文以 EasyClick 安卓版(免 root,官方文档)为例,脚本语言是 JavaScript,会点 JS 就能写,而且所有 Java 类库都可以直接调用,深度定制也没问题。
二、环境准备:IDEA 建工程,Cursor/Trae 打开"工程文件夹"
写脚本之前先把环境搭好,三步走:
- IDEA 装插件建工程。安装 EasyClick 安卓版开发插件(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 写脚本"方案的地基。
三、投喂知识:让 AI 读懂 EasyClick
环境就绪后,第一件事不是写代码,而是让 AI 知道它手上有什么工具。官方教程的建议是按顺序做三件事:
1. 让 AI 扫描工程结构和 SKILL.md
ec_work_config/android/bin 里的 SKILL.md 是专门写给 AI 看的"CLI 使用说明书":写清楚了每个子命令的作用、参数、示例,还带一份 EC 脚本与 API 速查。跟 AI 对话,让它扫描工程结构和 SKILL.md,AI 就知道了"这个工程能编译、能运行、能截图、能抓节点"。
2. AI DOCS 一键安装全部文档(v12.1.0+)
如果嫌"让 AI 自己翻文档"太慢,EasyClick 安卓版 v12.1.0+ 在 IDEA 顶部菜单新增了"安装 AI DOCS" ,点一下就把全部文档安装到工程下面,AI 可以本地检索完整 API 文档,不再依赖训练记忆。注意:安装的是文档,不同 AI 平台需要的提示词等文件,官方说明是需要自己生成处理的。
3. @Docs 添加文档链接,让 AI 自己抓取
在 AI 对话框里输入 @,选择 Docs → Add new doc ,把 EasyClick 的文档地址(https://ieasyclick.com/docs/)喂给 AI,让 AI 自己抓取并理解。这个方式的好处是文档始终最新------官方文档更新后,AI 抓到的就是新版。
四、CLI 闭环:把"能做什么"变成 AI 的"输入"
AI 编程的关键在于:AI 必须能"看到"运行结果,才能自己纠错 。ec-android-cli 把整个开发链路都变成了命令,每一项命令的输出,就是 AI 下一步决策的输入:
| 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 格式 ,方便 AI 解析;可以用
-o把日志追加写入文件,用-r自动生成日志文件名(-r与-o不能同时用)。 build/run/preview内置了默认"停止关键字"(比如编译成功、脚本已运行结束),也可以用-k自定义关键字,日志中出现即结束监控------AI 拿到的是精确到关键节点的日志片段,而不是刷屏的输出。preview/run需要设备已连接到 IDEA,否则会提示无设备连接。
一句话总结:CLI 的作用是"告诉 AI 发生了什么",AI 拿到信息后再分析"该怎么做"。
五、实战演示:从一句人话到跑起来的脚本
把上面的链路串起来,一个完整的 AI 开发循环长这样:
第 1 步:自然语言描述需求。不用写代码,直接说人话:"写一个脚本:启动 App,找到'推荐'按钮点击,再滑动到页面底部。"
第 2 步:AI 生成脚本 。AI 结合 SKILL.md 和 API 文档生成 JavaScript 脚本,例如(选择器与节点文档):
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,AI 和你都能看到脚本在屏幕上到底做了什么。
第 5 步:AI 看日志修 bug 。运行中报错------比如卡密验证失败、节点没找到------直接把日志丢给 AI:"刚才出现了卡密问题,帮我修复后继续运行。"AI 对着日志定位原因、修改代码、重新编译运行,直到跑通为止。
官方还提供了一个完整的视频案例:《EasyClick+Trae AI 写脚本做成了全自动!再也不用手敲代码了》 (B 站),可以直观感受"对话式开发"的完整节奏:你描述需求,AI 写脚本、编译、跑起来、出问题自己改,全程几乎不用手敲代码。
六、能力边界与注意事项
AI 很强,但不是"无人驾驶"。几条边界要认清:
- AI 需要人确认 。生成代码要 review,尤其是涉及输入内容、支付、卡密验证这类不可逆操作,必须人工核对后再执行。
- 一切以真机验证为准 。编译、预览、运行、截图、OCR,全都在真机(或 IDEA 已连接设备)上闭环。AI 说"应该没问题"不算数,跑一遍才算数。
- CLI 有运行前提 。
ec-android-cli依赖本机已启动 IntelliJ IDEA、且已加载 EasyClick 开发工具插件、插件处于可响应命令的状态;命令行里的模块名要和 IDEA 中的模块名一致。条件不满足时命令会直接失败------这不是 AI 的问题,是环境问题。 - AI DOCS 装的是文档,不是提示词。不同 AI 平台的提示词/配置文件,官方说明需要自己生成处理。
- CLI 只负责"告诉发生了什么"。它给 AI 的是事实(日志、截图、节点、OCR 结果),怎么改、改成什么,由 AI 分析、人拍板。
七、FAQ
Q1:为什么自动化脚本特别适合 AI 编程?
A:因为开发链路能被完整"工具化":API 文档结构化、每个环节都有 CLI 命令兜底、运行结果随时可查证。AI 既能写代码,又能自己看屏幕、看日志、闭环验证。
Q2:一定要用 Cursor 吗?Trae 可以吗?
A:都可以。所有大模型都支持,不仅限于 Cursor,配置方式类似;Cursor/Trae 只是官方教程里的两个示例。
Q3:工程里的 ec_work_config/android/bin 是什么?
A:存放 EC 安卓编译相关的 CLI 和 SKILL.md。SKILL.md 是专门写给 AI 看的 CLI 使用说明书,包含全部子命令、参数与示例。
Q4:怎么让 AI 学会 EasyClick 的 API?
A:三种方式:让 AI 扫描工程结构和 SKILL.md;用 v12.1.0+ 的"安装 AI DOCS"一键装好全部文档;或在对话框里用 @Docs 添加官方文档链接让 AI 自己抓取。
Q5:CLI 有哪些子命令?
A:10 个:build、preview、run、stop、capture-screen、capture-node、ocr-local-image、ocr-screen、test-image、monitor。除 monitor 外都需要传 -m 模块名。
Q6:CLI 命令在什么前提下才能用?
A:IDEA 已启动并加载 EasyClick 插件;命令行模块名与 IDEA 中模块名一致;多窗口/多工程时建议用 -p 传工程根目录。preview/run 还需要设备已连接。
Q7:AI 生成的脚本需要人工检查吗?
A:需要。代码要 review,涉及输入、支付、卡密等不可逆操作必须人工确认;最后在真机上完整跑一遍验证。
Q8:脚本用什么语言写?
A:JavaScript,且可以调用所有 Java 类库。会点 JS 就能写,会点 Java 就能深度定制,AI 生成后可直接编译运行。
Q9:OCR 文字识别收费吗?
A:不收费。PPOCR-V4/V5/V6 全系模型免费提供,本地离线识别,不依赖云端接口。
Q10:支持哪些安卓版本?
A:EasyClick 安卓版支持安卓 5.0 到最新系统,覆盖面广,老设备也能跑。
关于 EasyClick :手机自动化 AI 智能体平台,覆盖安卓免 root、iOS 免越狱、鸿蒙 Next 三大生态,提供脚本开发、苹果群控、本地中控投屏与云控系统。→ 了解全部产品
文章来自: https://blog.ieasyclick.com/blog/android-ai-coding-guide/