AutoJs6 从入门到实战:一小时搭好你的安卓自动化流程
AutoJs6 是什么
AutoJs6 是一款基于 JavaScript 的 Android 自动化工具,它的核心思路很直白:让你用代码代替手指在手机上完成重复操作。版本 6.5.0 是目前社区公认最稳定的经典版本,包名 org.autojs.autojs6,68M 左右的安装量在同类工具里算轻量。
它能做的事情覆盖了安卓自动化的大半场景——模拟点击滑动、读取屏幕控件、定时执行脚本、对接 Tasker 做条件触发,甚至还能挂 VSCode 插件在电脑端远程调试。适合写脚本玩机的开发者、想摆脱手动签到的普通用户、以及需要批量操作的场景。AutoJs6 本身不提供任何预置脚本,所有自动化能力都是你自己写的 JS 代码,灵活度高但入门需要动手。

安装
AutoJs6 只有 Android 平台的安装包,直接拿到 APK 后在手机上点开安装即可。安装过程中 Android 可能会拦截"未知来源",在系统设置里给 AutoJs6 放行就能继续。68M 左右的体积不算小,建议确保手机有 100M 以上的剩余空间再装。
装完打开 AutoJs6,第一件事不是写代码,而是先把无障碍服务和悬浮窗权限这两个核心权限配好。左侧抽屉滑出来,找到"无障碍服务"那一行点一下,系统会自动跳到无障碍服务设置页,把 AutoJs6 的开关打开。悬浮窗同理,抽屉里对应开关点过去授权。这两个权限没开的话,AutoJs6 只能当普通的 JS 编辑器用,所有自动化功能都跑不起来。
国产 ROM 有个额外步骤要注意:MIUI、ColorOS、EMUI、OriginOS 这些都要到"自启动管理"里把 AutoJs6 加进白名单,不然手机后台清理一轮就把无障碍服务干掉了。华为用户还要额外安装 HiSuite 驱动才能走 USB 连接。
装完之后要准备什么
两个核心东西:无障碍服务保持运行 + 脚本执行环境。无障碍服务刚才已经开了,现在把"电池优化"设成"不限制"、"自启动"打开、后台任务卡片下拉锁定,这样手机不会在待机时把服务杀掉。脚本执行环境方面,有两条路选——直接在手机上写(自带代码编辑器),或者连 VSCode 在电脑上写好推过去调试。新手建议先在手机上跑通再考虑 VSCode 联动,减少变量。
第一步:写第一个会动的脚本
打开 AutoJs6,点右下角的"+"新建文件,起名叫 hello.js。复制进去这段:
auto.waitFor();
toast("无障碍服务已就绪,AutoJs6 开始工作");
sleep(1500);
home();
toast("回到桌面,脚本结束");
点右上角的三角号运行,屏幕应该会弹出 toast 提示、等 1.5 秒、自动回到桌面。如果这三步都正常,说明无障碍服务通路没问题,你已经可以动手写更复杂的东西了。
第二步:用选择器定位屏幕元素
AutoJs6 自动化的核心是"找到屏幕上的某个控件然后操作它"。最常用的几种定位方式:
text("签到")— 找到文字是"签到"的控件id("like_icon")— 按资源 ID 找(需要控件有 ID)textContains("已赞")— 文字包含某个关键词className("android.widget.Button")— 按控件类型找
一般配合 .findOne(超时毫秒) 使用,找不到就报错或执行兜底逻辑。写的时候建议加 sleep() 等一等应用加载完再找控件,不然脚本跑得太快会定位失败。
// 在微博里找到签到按钮并点击
auto.waitFor();
app.launchApp("微博");
sleep(2000); // 等应用加载
let signBtn = text("签到").findOne(5000);
if (signBtn) {
signBtn.click();
toast("签到完成");
} else {
toast("没找到签到按钮");
}
home();
第三步:对接 Tasker 做条件触发
AutoJs6官网 自己也能定时跑,但 Tasker 插件模式能做更灵活的条件触发——比如"到达家的时候自动执行"、"充电时运行清理脚本"。配置路径是 Tasker → 新建 Task → Action → Plugin → AutoJs6,填脚本路径和执行模式(前台/后台/弹窗)。被触发的脚本里可以通过 tasker.getParams() 拿到 Tasker 传过来的参数,也可以用 exit(code) 返回退出码让 Tasker 决定后续动作。
常见的联动场景包括:每天早上 8 点触发批量签到脚本、连上充电器触发后台清理、打开特定应用时自动操作。每触发一次都是独立的 JS 执行实例,不会互相干扰,适合拆成多个小脚本分别管理。

常见卡点
卡点一:脚本找不到控件。绝大多数新手第一次跑都会遇到。原因通常是应用加载还没完成就去找了——在定位前加 sleep(1500~3000) 等一等。也可能是选择器写法不对,打开 AutoJs6 的"布局分析器"(抽屉里找),手动点一下目标控件,它会告诉你正确的 text/id/className,照着改就行。
卡点二:无障碍服务自动关闭。Android 系统为了省电会清理后台进程。把 AutoJs6 加到电池优化白名单、自启动白名单,最近任务列表里锁定一下,三重保险基本能稳住。脚本里加个定时检查也挺有用:每 30 秒看一次 auto.state,断了就发通知提醒自己。
卡点三:VSCode 连不上手机。先确认手机和电脑在同一局域网,AutoJs6 设置里 VSCode 连接服务是开启状态(状态栏显示"运行中,IP: xxx.xxx.xxx.xxx,端口: 62001")。然后在电脑 PowerShell 里跑 Test-NetConnection -ComputerName <手机IP> -Port 62001 看端口通不通,Windows Defender 防火墙挡了就临时关一下测试。ADB 模式的话,先 adb devices 看设备是不是 "unauthorized",手机上勾一下"总是允许这台电脑"就好。
进阶一句话
跑通基础之后可以试试 Shizuku 授权拿系统特权,或者把多个脚本按功能拆成文件在项目里管理——AutoJs6 支持导入整个文件夹当项目跑,配合定时任务能搭出一套完整的个人自动化工作台。
本文為個人基於網路公開資料整理編寫,非官方內容,僅供學習交流參考;軟體版權歸原作者所有,請支持正版;使用過程中遇到問題請查閱官方管道,本文不承擔任何責任。