安卓手机自动化脚本入门:从录制动作到跑通第一个脚本
手机上有不少机械重复的操作:每天固定时间打开某个应用签到、在几个界面之间反复点同样的按钮、批量处理聊天里的消息。这些事交给脚本去做,人就可以省下来。本篇以安卓端常用的 JavaScript 自动化工具 Autox.js 为例,把从零开始的路铺一遍:装好应用、开对权限、跑通第一个脚本,再决定往哪个方向深入。
工具的安装文件资源获取入口与完整安装步骤,可以在 autox-js.gltd.quest 找到,这里不再重复,重点讲装好之后的事。
一、先搞清它靠什么干活
这类工具的核心是系统无障碍服务:它替脚本"看"屏幕(读出界面上有什么按钮、什么文字),也替脚本"动手"(执行点击、滑动、输入)。理解这一点,后面很多现象就解释得通:
- 为什么没开无障碍服务时脚本完全不动——它既看不见也摸不着;
- 为什么有些界面读不出控件——游戏画面、自绘界面本来就不是标准控件,得换思路(后面说);
- 为什么手机重启或省电之后脚本失灵——系统可能把无障碍服务杀掉了,重开一次就好。
除了无障碍,建议一次配齐另外两项:悬浮窗(脚本控制条和录制功能都靠它)和电池白名单(否则切后台、锁屏后脚本容易被系统杀掉)。
二、最省力的入门方式:先录制,再改代码
对没写过代码的人来说,最平滑的路径不是从语法开始,而是用录制:
- 打开悬浮窗上的录制按钮;
- 正常操作手机——点这里、滑那里、输入这句话;
- 停止录制,工具会把刚才的动作翻译成一行行代码。
录出来的代码往往啰嗦,直接回放也可能因为界面变化跑偏,但它是"一个动作对应哪行代码"的最直观教材。看懂三五段录制结果,点击、滑动、等待、找控件这几个基本句子就都会写了。
三、第一个手写脚本:五行代码
新建 main.js,输入下面的内容点运行:
toast("脚本开始运行"); // 屏幕上弹出提示气泡
launchApp("设置"); // 打开系统设置
sleep(2000); // 等 2 秒(单位毫秒)
home(); // 回到桌面
跑通这五行,就验证了整条链路:编辑器、运行、无障碍服务都在工作。接下来值得练的三个基本句式:
等条件成立再继续,比写死等待时间稳得多:
text("完成").waitFor(); // 最多一直等到屏幕出现「完成」二字
按文字找控件并点击,这是跨机型最稳的定位方式:
let btn = text("下一步").findOne(5000);
if (btn) { btn.click(); } else { toast("没找到按钮"); }
找不到控件时用坐标兜底,适合游戏和自绘界面:
click(540, 1200); // 直接点屏幕坐标
取舍原则一句话:能用控件就用控件,坐标只留给画不出控件的场景。
四、往哪个方向深入
入门之后常见三条路,按需选一条往下走:
- 界面类自动化:签到、打卡、批量操作普通应用。主要功夫在控件选择器与等待逻辑,配合免Root自动点击与找图找色实操里的颜色检测,能覆盖绝大多数场景;
- 画面类自动化:游戏、自绘界面,控件读不出来,要靠截图找图、找色甚至文字识别,路线对比见免Root自动点击与找图找色实操;
- 做成独立应用:脚本写成熟后打包成单独安装包给别人用,这是这套工具区别于一般按键精灵类应用的进阶玩法。
写脚本的过程中,报错与"点了没反应"是常态,多数落在权限、等待不足、版本差异三类原因上,逐项排查很快能定位。
五、把环境搭起来
工具本身是开源项目,社区在持续维护,6.x 与 7.x 两条分支可以共存于一部手机。安装包的获取入口、安装步骤与首次运行的权限配置,整理在 autox-js.gltd.quest,跟着做完就能到本文的起点——第一个脚本弹气泡。