Autox.js 无障碍服务突然失效的排查清单
最常见的问题:无障碍自己关了
脚本昨天还能跑、今天打开 Autox.js 一看——无障碍服务自己关了。这不是你的脚本坏了,大概率是 Android 系统干的好事。
排查清单(按可能性从高到低)
1. 系统或安全软件自动关闭了无障碍服务
这是最常见的原因。国产 ROM 对无障碍服务尤其警惕——有些甚至每天定时检查一次有没有"可疑 App"开着无障碍。
排查:打开无障碍设置页面,找到 Autox.js 的开关,看它是不是真的被关了。
解决:
- 重新打开开关
- 去安全中心/手机管家把 Autox.js 加白名单(某些系统会周期性关掉非白名单的无障碍)
- MIUI/EMUI/ColorOS 特别容易犯这个病——除了电池优化,还要看有没有"清理可疑 App"之类的定时任务
2. 重启手机后无障碍丢了
某些 Android 版本重启后会自动清空无障碍服务配置。
解决:
- Autox.js 设置里开启"开机自启动"
- 用 Tasker 加一个触发器:「开机完成」→ 自动打开 Autox.js
- 写一个启动引导脚本,打开后先检查无障碍状态,没开就跳转设置页
3. 手动开了无障碍,脚本还是提示"没开"
这时可能是以下原因:
3a. 进程隔离导致的权限不传递
v7.2.3 更新日志里提到:修复了无障碍权限 App 进程无法访问 script 进程的无障碍权限实例导致的 bug。
这就是这个问题——Autox.js App 进程和脚本运行在不同进程里,App 进程开了无障碍但脚本进程没拿到。v7.2.3 修了这个,但老版本可能还会遇到。
解决:升级到 v7.2.3 或以上。或者先关闭再重新开启无障碍开关,触发权限重新分发。
3b. 系统延迟
某些机型开无障碍后有短暂延迟才能生效。
解决:开无障碍后等 3~5 秒再跑脚本。
4. Auto.js 和 Autox.js 同时装了
如果手机里同时装了原版 Auto.js、AutoJs6 和 Autox.js,它们可能在无障碍服务注册上互相冲突。
解决:只用一个版本,把其他的卸载干净。
5. 模拟器环境的特殊问题
| 模拟器 | 无障碍支持 | 备注 |
|---|---|---|
| 雷电 | 一般 | 无障碍偶尔自动关闭 |
| 夜神 | 较差 | 部分版本根本开不了无障碍 |
| BlueStacks | 较好 | 相对稳定 |
| 华为应用市场模拟器 | 较差 | 有限制 |
模拟器建议:
- 优先用 BlueStacks 5
- 系统版本至少 Android 7.0
- 开了无障碍后别频繁重启模拟器
6. Autox.js 本身崩溃了
如果 Autox.js App 自己崩了(进程被系统杀掉),它的无障碍服务也会跟着停。
排查:打开设置 → 应用管理 → Autox.js → 看有没有"崩溃报告"。
解决:
- 更新到最新版本(很多崩溃是已知 bug)
- 减少后台挂起的脚本数量
- 电池优化设为无限制
应急脚本:自动检测并引导开启
// 每次脚本启动先跑这个
if (auto.service == null) {
toast("无障碍服务未开启,跳转设置...");
app.startActivity({
action: "android.settings.ACCESSIBILITY_SETTINGS"
});
// 等用户开启后手动回到脚本
while (auto.service == null) {
sleep(1000);
}
toast("无障碍已开启,继续执行");
}
总结
| 原因 | 频率 | 最快修复 |
|---|---|---|
| 系统定时关闭 | 极高 | 重新开 + 安全软件白名单 |
| 版本 bug(进程隔离) | 中 | 升级 v7.2.3+ |
| 模拟器问题 | 中 | 换模拟器 |
| 多版本冲突 | 低 | 只留一个 |