先搞清楚一件事:这和写 App 完全不是一回事
很多人听到“写脚本”就心里发憷,觉得又要配置 JDK、调 Gradle、装 SDK……停。
安卓自动化脚本开发不需要这些。你写的是一个 js 文件,通过 ADB 传到手机上跑,或者利用无障碍服务直接操控屏幕。没有 APK 要打包,没有商店要上架,也没有用户要对接。 就是你自己给自己写的干活工具。
优势很直白:改一行代码就能看效果,同一份脚本可以扔给任意一台安卓手机去执行。只要会基础的变量、循环、if else,就能开始写。
你需要准备什么
硬件方面很简单:一台安卓手机(调试的时候至少得有一台真机)、一根 USB 线、你的电脑。如果你只管一台手机,一套就够了;打算批量管控的话建议同型号统一,兼容性省事很多。
软件我推荐直接用 EasyClick 全家桶,省去了各种环境配置的功夫:
- IDE 基于 IntelliJ IDEA 做的,装了就能用。Windows、Mac、Linux 都有
- 内置了大量现成的示例工程,拿来改改参数就跑
- 手机端装一个轻量 APK 就行,不用 ROOT
备选方案也有一些:按键精灵门槛更低但功能有限,Auto.js 适合技术折腾党,UiAutomator2 更偏专业测试方向但配置麻烦不少。对于大多数人来说,EasyClick 是省心路线。
动手:十分钟跑通第一个脚本
1. 安装 + 新建项目
下载安装 EasyClick IDE,打开后创建一个新项目,平台选安卓。
2. 连手机
打开手机设置 → 关于手机 → 版本号那里连点七次 → 返回上级进入开发者选项 → 打开 USB 调试。然后插入数据线,IDE 里点连接,手机上弹出的授权提示确认一下就好。
3. 导入示例
IDE 自带了一个「自动点击签到」的示例,通常在「示例工程 → 安卓」目录下。打开之后你会看到 main.js,这就是你的第一个脚本。
长这样:
var appPackageName = "com.example.app"; // 改成你要操作的 App 包名
app.launch(appPackageName);
sleep(3000);
if (clickByText("签到")) {
toast("签到成功!");
} else {
toast("没找到签到按钮");
}
sleep(2000);
if (clickByText("确定") || clickByText("关闭")) {
// 关掉弹窗
}
toast("搞定");
没什么花哨的东西。三步:打开 App → 找“签到”两个字 → 点它。
4. 点运行
IDE 里的运行按钮一点,脚本就会跑到手机上执行。这时候看着手机自己打开 App、跳转到签到页面、点完按钮回来——成就感来得很快。
实用技巧:别踩坑
别用固定坐标
这是我见过新手最容易犯的错误。你以为按钮永远在 (500, 800) 那个位置?App 随便更新一版就全乱了。
改成按文字或图片来找目标:
// ✅ 好做法
clickByText("继续"); // 找"继续"这俩字在哪然后点
clickByDesc("下一步按钮"); // 按 accessibility description 找
// ❌ 坏做法
click(500, 800); // App 一改布局就瞎了
别死等固定时间
// ❌ 傻等五秒,快的时候浪费慢的时候不够
sleep(5000);
// ✅ 最多等十秒,找到了就不等了
waitForElementByText("确认", 10000);
学会截图识图
界面上有些东西读不到控件文本怎么办?截张图让 OCR 认:
var pos = findImage("confirm-button.png");
if (pos) {
click(pos.x, pos.y);
}
加上异常处理
脚本中间断了没人知道为什么是最烦的事。套一层基本的 try-catch:
try {
launchApp("com.example.app");
sleep(3000);
tapTarget();
} catch(e) {
print("出错了: " + e.message);
showToast("任务失败,请检查网络");
}
碰到问题怎么排查
连不上手机 → 先看 adb devices 有没有识别到你的设备,驱动装了吗,USB 调试开了吗
找不到元素 → 一般是 App 改版了,换个策略比如图片匹配或者 OCR
脚本中途停了 → 大概率被省电策略杀了后台,去电池设置里把你这个 App 设为无限制
点击没反应 → 前面有弹窗挡住了,加一段弹窗处理的逻辑
卡顿明显 → 把 sleep 的时间缩短一点,或者用异步非阻塞的方式
跑通了怎么长期用
刚开始手动点运行没问题,后面可以按场景升级:
定时任务 — 用系统 cron 或者 Windows 计划任务,每天早上八点自动触发脚本
云控调度 — 十几台以上的话需要一个云端面板统一管理,一键下发,实时看每台手机的状态
事件触发 — 结合 webhook,收到通知再跑,比如发货前自动巡检库存
企业级百台以上规模的话,用 iEasyClick 的云控系统配合可视化运维面板最合适。
延伸阅读
EasyClick 官方文档 — API 参考手册 第一个工程入门教程 — 从零创建项目 无障碍服务原理详解 — 了解一下底层是怎么工作的
============================
iEasyClick 官网 ieasyclick.net · 专注于安卓/苹果/鸿蒙全平台手机自动化
============================
想要真实跑起来?
本文介绍的方案均可基于 EasyClick 能力在 iEasyClick 落地。官网提供完整文档、开发工具与自动化产品,免费体验。