当前自述文件 README.md 支持以下语言:
- 简体中文 [zh-Hans] # 当前
- 繁體中文 (香港) [zh-Hant-HK]
- 繁體中文 (台灣) [zh-Hant-TW]
- English [en]
- Français [fr]
- Español [es]
- 日本語 [ja]
- 한국어 [ko]
- Русский [ru]
- العربية [ar]
Auto.js 是一款 Android 平台支持 无障碍服务 的 JavaScript 自动化工具软件.
Auto.js 由 hyb1996 于 2017/01/27 初次发布, 于 2020/03/13 停止维护, 最终版本名称为 4.1.1 Alpha2, 构建版本号为 461.
AutoJs6 在 Auto.js 最终项目的基础上, 于 2021/12/01 进行二次开发, 继续保持开源免费.
下表列举了部分 Auto.js 相关项目:
| 项目 | 应用名称 | 主要开发者 | 创建日期 | 最近活跃 | 活跃维护期 (年) |
|---|---|---|---|---|---|
| AutoJs6 | AutoJs6 | SuperMonster003 | 2021/12/01 |
2026/11/03 |
4.93 |
| AutoX | Autox.js v7 | aiselp | 2024/04/21 |
2026/10/09 |
2.47 |
| Autoxjs_v6_ozobi | Autox.js v6_ozobi | ozobiozobi | 2024/10/01 |
2026/04/16 |
1.54 |
| AutoJs4 | AutoJs4 | SuperMonster003 | 2023/04/11 |
2026/03/15 |
2.93 |
| AutoX | Autox.js v6 | autox-community | 2025/03/30 |
2025/11/29 |
0.67 |
| Auto.js | Auto.js M | TonyJiangWJ | 2019/11/21 |
2025/08/22 |
5.76 |
| AutoX | Autox.js | kkevsekk1 | 2020/07/24 |
2024/11/14 |
4.31 |
| AutoX | Autox.js v6 | wilinz / aiselp | 2022/05/26 |
2024/06/27 |
2.09 |
| autojs4 | Auto.js | blackcd318 | 2021/12/15 |
2023/07/31 |
1.62 |
| openautojs | OpenAuto.js | openautojs | 2023/02/17 |
2023/04/16 |
0.16 |
| Auto.js Pro 9 | AutoJsPro | hyb1996 | 2021/03/28 |
2023/02/09 |
1.87 |
| Auto.js Pro 8 | AutoJsPro | hyb1996 | 2019/10/13 |
2021/07/24 |
1.78 |
| Auto.js | Auto.js | hyb1996 | 2017/01/27 |
2020/03/13 |
3.13 |
| Auto.js Pro 7 | Auto.js | hyb1996 | 2019/03/13 |
2019/07/08 |
0.32 |
数据更新于 2026 年 10 月 9 日.
数据条目按 最近活跃 降序排序.
表格中的日期为预估值, 实际可能存在出入.
表格中 Auto.js Pro 7/8/9 为付费版本, 其余为免费开源版本.
AutoJs4 是 Auto.js 最终开源版本 4.1.1 Alpha2 的克隆项目, 用于保留原始源码, 并做必要的更新使其可以正常构建并在新版安卓系统中运行.
AutoJs4 同时是 AutoJs6 的行为基准: 除少数特定情况外, 能在 AutoJs4 正常运行的脚本, 在 AutoJs6 上也应正常运行且效果与结果完全一致.
AutoJs4-Documentation 与 AutoJs6-Documentation 的关系与此类似, 前者保留 Auto.js 4.1.0 文档的最终源码, 并作为后者的参考基准.
下表列出了上述项目及其相互关系, 可直接跳转:
| 项目 | 说明 | 相关链接 |
|---|---|---|
| AutoJs6 | Android 平台 JavaScript 自动化工具, Auto.js 的二次开发项目 (当前项目) | 文档项目 / 在线阅读 |
| AutoJs4 | Auto.js 4.1.1 Alpha2 的克隆项目, 保留原始源码并作为 AutoJs6 的行为基准 |
文档项目 |
| AutoJs6-Documentation | AutoJs6 应用文档, 在线站点与离线文档插件共用同一内容源 | 应用项目 / 在线阅读 |
| AutoJs4-Documentation | Auto.js 4.1.0 文档的克隆项目, 保留原始文档并作为 AutoJs6 文档的参考基准 |
应用项目 |
| AutoJs6-Plugin-AutoJs4-Runtime | AutoJs6 插件, 内嵌 AutoJs4 引擎, 用于以原版引擎运行脚本并与 AutoJs6 对照结果 | 应用项目 / AutoJs4 |
- 可用作 JavaScript IDE (代码补全/变量重命名/代码格式化)
- 支持基于 无障碍服务 的自动化操作
- 支持浮动按钮快捷操作 (脚本录制及运行/查看包名及活动/布局分析)
- 支持选择器 API 并提供控件遍历/获取信息/控件操作 (类似 UiAutomator)
- 支持布局界面分析 (类似 Android Studio 的 LayoutInspector)
- 支持录制功能及录制回放
- 支持屏幕截图/保存截图/图片找色/图片匹配
- 支持 E4X (ECMAScript for XML) 编写界面
- 支持将脚本文件或项目打包为 APK 文件
- 支持利用 Root 权限扩展功能 (屏幕点击/滑动/录制/Shell)
- 支持作为 Tasker 插件使用
- 支持与 VSCode 连接并进行桌面开发 (需要 AutoJs6-VSCode-Extension 插件)
插件中心读取官方索引与已安装 manifest 的原生页对齐信息, 在 16 KB 设备安装或启用不兼容版本前提示. 16 KB roadmap
相较于 Auto.js 最终开源版本 4.1.1 Alpha2, AutoJs6 主要进行了以下升级或变更:
- 支持通过 Shizuku 获得 ADB 特权并使用系统 API
- 支持构建 WebSocket 实例以完成基于 WebSocket 协议 的网络请求
- 新增模块 [ base64 / crypto / sqlite / i18n / notice / ocr / opencc / qrcode / shizuku / ... ]
- 多语言适配 [ 西 / 法 / 俄 / 阿 / 日 / 韩 / 英 / 简中 / 繁中 / ... ]
- 主题色适配 [ 分组 / 定位 / 搜索 / 历史记录 / 亮度及对比度自动适配 / ... ]
- 夜间模式适配 [ 设置页面 / 文档页面 / 布局分析页面 / 浮动窗口 / ... ]
- VSCode 插件 支持客户端 (LAN) 及服务端 (LAN/ADB) 连接方式
- Rhino 引擎由 v1.7.7.2 升级至 v2.0.0-SNAPSHOT (更新于 2026 年 11 月 3 日)
- Unicode 码位 转义支持 辅助平面 字符
'\u{1D160}'; /* 表示 "𝅘𝅥𝅮", 传统方式: '\uD834\uDD60'. */
- 支持 Object.values()
Object.values({name: 'Max', age: 4}); // ['max', 4]
- 支持 Array.prototype.includes()
[10, 20, NaN].includes(20); // true
- 支持 BigInt
typeof 567n === 'bigint'; // true
- 支持 模板字符串
`Lucky number: ${(Math.random() * 100).toFixed(0)}` - 查看 Rhino 引擎 更多新特性
- 查看 Rhino 引擎 兼容性列表
- Unicode 码位 转义支持 辅助平面 字符
提示部分内置功能改由独立插件提供 (如 OCR, 条码识别, OpenCV, OpenCC, 拼音, MediaInfo, 终端及离线项目文档), 使用前需在插件中心安装并启用对应插件提示Rhino 引擎的 Promise 及部分语法行为改为与 ECMAScript 规范一致 (如 Promise 回调改为微任务执行, 为 const 变量重新赋值时抛出 TypeError), 依赖旧行为的脚本可能需要调整提示console 控件及控制台浮动窗口改为显示当前脚本日志, 全局日志可通过 globalconsole 控件或日志页面查看提示打包应用的目标 SDK 版本由 29 调整为 37, 共享存储及本地网络访问需按系统要求授权提示打包应用使用 images 等依赖 OpenCV 的功能时, 需在打包时勾选 OpenCV 插件新增设置向导, 用于首次使用时依次完成权限申请及插件安装, 首次启动后主页以欢迎提示提供入口 (入口: 设置页面 > 配置 > 设置向导)新增插件安装向导, 用于按分类勾选并批量安装官方插件, 具备 Shizuku/Root/Dhizuku 授权时可通过 3-Setup Installer 插件静默安装 (入口: 设置向导/主页插件标签页悬浮按钮菜单/插件中心 "+" 菜单)新增权限申请向导, 用于勾选所需权限并依次申请, 内置 "标准"/"最小"/"全部" 配置并支持自定义配置 (入口: 设置向导/主页抽屉 "权限" 分组标题按钮)新增Rhino 引擎支持 class 语法, 包括字段, 静态块, 私有成员及继承 Error/Array/Map 等内建类型, 并可继承 Java 类与接口 (参阅 项目文档 > 类语法)新增Rhino 引擎支持 async/await, 包括 async 函数, async 箭头函数, async 方法, async 生成器及 for await (参阅 项目文档 > async/await 与 continuation)新增Node.js Runtime 及 Bun Runtime 插件, 用于运行 Node.js 及 Bun 的脚本和项目, 可调用 AutoJs6 的自动化, 图像, 界面及文件等大部分脚本能力新增Python Runtime, Lua Runtime 及 QuickJS Runtime 插件, 用于运行 Python, Lua 及 QuickJS (JavaScript) 脚本新增Java Runtime 及 Kotlin Runtime 插件, 用于编译并运行 Java/Kotlin 源码 (Java 需要 Android 7+, Kotlin 需要 Android 8+)新增TypeScript Engine 插件, 用于编译并运行 TypeScript 文件及项目, 支持类型检查及 UI 模式 TSX 布局, 定时任务, 快捷方式及日志页面也可运行 TypeScript新增ai 模块, 用于通过 AI 提供方插件 (如 3-Stone AI) 调用本地或在线大模型, 支持流式输出, 持久会话及结构化 JSON 结果 (参阅 示例代码 > ai)新增ai.agent 脚本 API, 用于启动及控制 3-Stove Agent 智能体任务 (支持计划模式及后台任务), 脚本也可登记为供智能体调用 (需要 3-Stove Agent 插件) (参阅 示例代码 > agent)新增MCP Server 插件, 用于通过 MCP 客户端访问 AutoJs6 的脚本, 文件及设备操作能力 (入口: 主页抽屉/插件中心)新增compose 模块, 用于以 Jetpack Compose 构建界面, 悬浮窗及对话框, 代码编辑器可在 3-Block Compose 可视化设计器中打开并编辑界面 (需要 3-Block Compose 插件) (参阅 示例代码 > 3-Block Compose)新增speech 模块, 用于离线语音识别, 唤醒词检测, 语音合成, 说话人识别及音频分析 (需要 3-Macaw Speech 插件) (参阅 示例代码 > 3-Macaw Speech)新增3-Shell Terminal 插件, 用于在应用内使用终端, 脚本可通过 terminal 全局对象管理终端会话 (入口: 主页抽屉/项目工具栏/文件管理器目录菜单) (参阅 示例代码 > 终端)新增installer 模块, 用于安装, 更新及卸载应用, 支持 Shizuku/Root/Dhizuku 静默操作 (需要 3-Setup Installer 插件) (参阅 项目文档 > 安装器)新增mail 模块, 用于邮件收发, 查询, 附件下载及新邮件监听 (需要 3-Stamp Mail 插件) (参阅 项目文档 > 邮件)新增epub 模块, 用于读取电子书内容及打开阅读器 (需要 3-Folio EPUB 插件) (参阅 项目文档 > 电子书)新增gallery 模块, 用于选择, 查看, 编辑及转换图片 (需要 3-Maple Image 插件) (参阅 项目文档 > 相册)新增imgui 全局对象, 用于以 Dear ImGui 构建悬浮窗及全屏界面 (需要 ImGui 插件)新增yolo 模块, 用于通过 YOLO 插件进行目标检测 (参阅 项目文档 > YOLO)新增files.batchRename 方法, 用于按查找与替换, 正则表达式, 计数器及日期等规则批量重命名文件, 支持预览及撤销 (需要 Batch Rename 插件) (参阅 项目文档 > 文件)新增plugins.tools 模块, 用于列出并调用插件提供的工具 (需要提供工具的插件) (参阅 项目文档 > 插件)新增images.quantize/quantizeToFile 方法及 images.save 等方法的量化选项, 用于压缩 PNG 图像 (需要 Image Quantization 插件)新增flow 模块及 waitAsync 全局方法, 用于以链式写法编排等待与操作, 支持分支, 循环, 超时, 重试及取消 (参阅 项目文档 > 流程)新增smartClick/scrollUntil/typeInto/launchAndWait 等自动化方法及 waitForIdle/waitForToast 等等待方法, 用于控件点击, 滚动查找, 文本输入及应用切换 (支持 Flow 链式调用)新增select 方法支持字符串选择器语法, 可组合属性, 正则表达式及布尔条件新增UiObject 及控件集合增加 isStale/waitUntilGone/toJSON/first/last/clickEach 等方法, 用于节点状态等待, 序列化及逐控件操作新增auto.findWindows/explain/dump 方法, 用于按条件获取窗口, 诊断选择器及导出节点树新增shell.spawn/shizuku.spawn 方法, 用于以进程运行命令并实时读取输出, 支持写入输入, 伪终端及结束进程 (adb 选项与 shizuku.spawn 需要 Shizuku, root 选项需要 Root 权限)新增Shell 构造器支持 { cmd, root, adb, pty, env, cwd } 选项对象, 并增加 $shell.setDefaultOptions/checkAccess 等方法 (兼容 Auto.js Pro)新增settings 模块, 用于读取, 修改及按分类导出应用设置 (Ref to Auto.js Pro) (参阅 项目文档 > 设置)新增work_manager 模块, 用于管理定时任务及广播任务 (Ref to Auto.js Pro) (参阅 项目文档 > Work Manager)新增power_manager 模块, 用于查询及申请忽略电池优化 (Ref to Auto.js Pro) (参阅 项目文档 > Power Manager)新增memory 模块, 用于在脚本中读取 AutoJs6 的内存诊断数据, 如内存快照, 未被回收的脚本运行时及 hprof 堆转储 (参阅 项目文档 > 内存)issue #452新增tts 模块, 用于文本转语音 (参阅 项目文档 > 文本转语音)新增pangu 全局对象, 用于中西文混排的间距处理及检查 (参阅 项目文档 > 文本间距)新增colors 模块增加 distance/blend/contrast/harmony 等方法及 colors.theme 对象, 用于颜色计算, 配色生成, OKLab/OKLCH 色彩空间转换及修改应用主题色 (参阅 示例代码 > 图像与颜色)新增images.countPointsByColor/getMeanColor 方法, 用于统计匹配颜色的像素数量及获取平均颜色新增device.getMarketName 方法及 device.pageSize 属性 (getter), 用于获取设备市场名称及系统内存页大小issue #513新增console.setTimeVisible/setTimeFormat/setColorful/setAvoidStatusBar/setInputVisible 方法及对应的 console.build 选项参数新增runtime.loadAar/loadJarWithR8 方法, 用于动态加载 AAR 文件及借助 R8 Compiler 插件加载 JAR 文件 (后者为实验性)新增UI 布局支持工程 res 目录中的字符串, 颜色, 样式及图片等资源, 并可按夜间模式, 语言及屏幕方向等选择对应的限定符目录 (参阅 项目文档 > 用户界面)新增原生 Android XML 布局支持更多控件属性, ConstraintLayout/CoordinatorLayout 布局及 Material 组件 (参阅 项目文档 > Android XML 属性)新增ui.useAndroidLayout 方法, 用于启用 Android 原生布局控件支持新增UI 模式增加 globalconsole 控件, 用于显示全局日志; console 系列控件支持标题, 样式及输入栏设置新增UI 模式的事件监听器支持挂起协程 (如 dialogs.confirm(...).await()), 需要脚本项目启用 continuation 特性 (参阅 项目文档 > 续体)新增sqlite 模块的数据库回调支持 onDowngrade 方法, 用于处理数据库版本降级 (参阅 项目文档 > SQLite)新增"管理 AutoJs6 设置" 页面, 用于按分类导出/导入应用设置, 恢复默认设置及撤销上次操作, 支持凭据加密保存及自动备份 (入口: 设置页面 > 配置 > 管理 AutoJs6 设置)新增快捷方式备份功能, 用于自动存档桌面快捷方式, 支持导出/导入及批量恢复 (入口: 设置页面 > 配置 > 快捷方式备份)新增无障碍服务管理器, 支持服务启停, 缓存清理, 自检, 事件监视及诊断信息复制 (入口: 主页抽屉无障碍服务条目)新增文件管理器支持文件多选及批量复制/移动/删除, 并增加路径栏, 支持快速跳转上级目录, 前进/后退及切换存储卡新增文件管理器支持通过 Shizuku 或 Root 浏览受限目录并编辑其中的文件 (需要对应授权, 可访问范围取决于系统)新增文件管理器脚本菜单增加 "悬浮运行" 选项, 支持通过浮动工具栏运行/停止脚本, 编辑文件及查看日志新增文件管理器支持通过对应插件浏览压缩档案, 预览 Markdown/HTML 文件, 查看图片, 播放音视频及打开电子书新增文件管理器支持查看 APK/APKS/XAPK/AAB 等安装包的信息及清单新增文件管理器支持通过 Batch Rename 插件批量重命名文件与文件夹, 可预览新名称, 撤销操作及查看重命名历史 (入口: 多选工具栏/文件夹菜单/重命名对话框 "更多" 菜单)新增文件管理器脚本菜单增加 "使用 AutoJs4 运行" 及 "使用 AutoJs4 运行并对照" 选项, 用于以 AutoJs4 引擎运行脚本并比较运行结果 (需要 AutoJs4 Runtime 插件)新增代码编辑器支持通过 Ace Editor 插件使用 Ace 编辑器, 提供代码补全, 参数提示, 悬浮文档, 诊断及快捷键面板, 可在设置中选择编辑器引擎新增代码编辑器支持在编辑器内预览 ui 模式脚本的布局, 点击预览中的控件可跳转到对应源码 (入口: 工具栏 "预览" 开关)新增代码编辑器支持底部日志面板, 并支持脚本启停及堆栈帧源码跳转 (by M17764017422)pr #502新增代码编辑器支持独立设置页面, 沉浸式全屏模式及文件编码转换, 并通过信息栏显示光标位置及编码新增布局分析增加搜索栏及 "复制为选择器" 功能, 支持节点树保存与离线分析, "生成代码" 支持更多等待方式, 动作及 Flow 风格新增主题色支持自建颜色库, 可新建, 克隆, 导入/导出颜色库并管理其中的颜色新增智能颜色库, 可按夜间模式, 时段, 日出日落及电量等状态自动切换主题色, 内置 "跟随壁纸" 等预设新增版本历史支持版本预览, 差异比较, 手动快照及版本固定, 回收站支持批量恢复及内容预览, 两者均可设置保留策略新增定时任务支持按月/按年/倒计时任务及重复结束条件issue #294issue #537新增项目文件夹支持创建定时任务及广播任务, 广播任务增加 "邮件到达时" 类型 (需要 3-Stamp Mail 插件)新增主页抽屉增加 "屏幕取色" 工具 (需要 3-Color Picker 插件)新增开发者选项增加 "内存诊断" 页面, 用于查看内存占用及已结束但未被回收的脚本, 支持导出 hprof 堆转储 (入口: 开发者选项 > 内存诊断)新增开发者选项支持查看进程退出记录 (Android 11+), 并增加 "允许 Node.js 脚本使用 Inspector" 开关, 用于断点调试 Node.js 脚本新增代码生成模型管理页, 支持本地导入, 按需下载, 多版本管理及官方模型更新 (入口: 设置页面 > 无障碍服务 > 代码生成模型)新增打包应用支持 Node.js 项目及脚本, 运行时需要 Node.js Runtime 插件新增打包应用支持在构建时编译 TypeScript 项目, 并可加密编译产物新增打包应用配置支持显示或隐藏日志及设置启动器快捷方式issue #550新增VSCode 插件连接支持二维码扫描, 配对确认及局域网发现 (需要 VSCode 插件 1.1.0+)新增VSCode 插件支持远程文件管理及设备脚本运行 (需要 VSCode 插件 1.1.0+)新增客户端模式及服务端模式增加连接管理器, 客户端模式支持意外断开后自动重连修复脚本结束后或部分页面关闭后占用的内存未被释放, 反复运行时内存占用持续增长的问题 (如使用 threads.start, 定时器, WebSocket, webview 控件或 runtime.loadDex 的脚本)issue #548修复AutoJs6 及打包应用遇到较新版本写入的数据 (如降级安装后) 时启动即崩溃, 或版本历史及回收站等数据无法打开的问题修复Android 14+ 申请屏幕捕获权限时可能因前台服务启动异常导致应用崩溃的问题issue #516修复Android 14+ 屏幕旋转或画面静止后 images.captureScreen 方法抛出 SecurityException 异常的问题修复多线程或跨文件重复调用 OCR 时可能反复申请屏幕捕获权限的问题issue #551修复Paddle OCR 插件服务断开后无法恢复或未运行时无法自动唤醒的问题issue #515issue #525issue #517修复部分系统 (如 ColorOS) 上插件未运行时无法连接, 需在插件中心手动激活的问题修复打包应用依次使用 Paddle OCR 和 Rapid OCR 时可能崩溃, 以及同时勾选多个版本的 Paddle OCR 插件时 OCR 不可用的问题修复app.isInstalled/kill 等方法无法正常使用包名参数的问题issue #495修复dialogs.multiChoice 方法返回的多选结果被错误转换为字符串的问题issue #518修复循环体中的 const 声明每轮不重新赋值的问题 (如 for/while 循环体中的const item = list[i]始终为首轮的值)修复Rhino 引擎的作用域, 参数转换及部分内置方法 (如 Object.fromEntries, Object.defineProperty) 行为异常的问题Rhino #2518修复正则表达式在 Android 7.x 上使用 Unicode 属性转义时抛出异常的问题修复runtime.loadJar 方法无法加载较高 Java 版本编译的 class 文件, 以及 Android 7.x 上 runtime.loadDex/loadJar 可能失败的问题修复协程中的 await 遇到拒绝时不抛出错误, 恢复后再次挂起时脚本被结束, 以及 Promise 的 wait 方法在脚本线程上一直阻塞的问题修复无 Root 权限设备调用 shell 相关方法时可能出现假死的问题修复脚本对话框在线程结束时关闭, 或停止脚本时子线程仍在处理图像, 可能导致应用崩溃的问题修复子线程或定时器结束后脚本偶尔无法自动结束, 以及停止带有 setInterval 定时器的脚本时偶尔报错的问题修复ui.run, threads.disposable, 阻塞式对话框及手势等方法等待其他线程结果时偶尔提前返回或一直阻塞的问题修复控制台浮动窗口的位置与尺寸设置受调用顺序影响, 以及标题栏拖动可能失效的问题修复console.log 等方法输出对象或数组时字符串值缺少单引号包裹, 与 Auto.js 4 的格式不一致的问题修复http 请求的不安全选项可能使后续请求跳过证书校验, 以及正式版本的 HTTP 请求可能被网络安全配置意外拦截的问题修复http.getAsync 等方法返回的 Promise 在 then 回调中读取响应体时抛出 NetworkOnMainThreadException 的问题修复UI 模式 WebView 控件的文件选择器无法正常打开的问题修复UI 模式 list/grid 控件项目模板中的表达式无法访问当前项目对象而导致列表项显示空白的问题修复UI 布局中 RelativeLayout 对齐, paddingHorizontal/paddingVertical 及 scrollbars 等属性无效或导致布局加载失败, 以及 UI 脚本进入分屏时可能意外退出的问题修复选择器的正则参数, contains 系列选择器及结果数量限制异常, 以及全局选择器方法抛出的异常无法被 try/catch 捕获的问题修复UiObject#child/parent 等方法可能无限递归, UiObject#clickBounds 方法可能意外结束脚本事件循环, 以及启用 findOnUiThread 时控件查找可能永久等待的问题修复无障碍服务重启后选择器查询返回空结果及事件回调失效, 以及服务的状态与启停和主页抽屉开关不一致的问题修复无障碍服务在连续执行 back 等操作时可能意外中断的问题issue #527修复automator 全局操作首次调用时可能出现空指针异常, 以及手势纵坐标缩放错误的问题修复通知观察器将系统通知误报为消息浮动框并遗漏通知事件的问题修复currentPackage/currentActivity 可能返回已关闭窗口 (如系统界面或桌面) 的包名及 Activity 的问题 (by DeanTMaxim)issue #570pr #571修复images 部分方法可能提前回收图像, 泄漏原生内存或因错误参数导致应用崩溃的问题修复images.findImage/matchTemplate/matchFeatures 的匹配结果, 坐标精度及排序异常, 以及 images.invert/clip 等方法的处理结果错误修复colors.isSimilar/images.detectColor 的 hs 算法结果错误, 以及 colors.rgb/rgba 无法正确处理小数或百分比分量的问题修复通过外部 URI, 后台或 Tasker 运行脚本时丢失原始路径, 扩展名或无法运行的问题issue #545issue #501修复缺少 /sdcard 链接的设备 (如 Fire OS) 上通过意图以 /sdcard 路径启动脚本时找不到文件的问题 (by djbclark)pr #558修复auto 文件通过文件管理器, 定时任务或外部意图运行时被当作 JavaScript 脚本执行的问题修复脚本项目未按 project.json 指定入口运行, 以及带 BOM 的脚本未按实际编码读取的问题修复外部 URI 导入可能因文件名处理不当写入目标目录之外或覆盖同名文件的问题修复文件管理器将读取失败显示为空目录, 返回页面时闪动或重置滚动位置, 以及条目持续显示灰色背景的问题修复版本历史及回收站恢复时可能丢失原有内容, 文件移动后版本历史未跟随, 以及多用户环境下无法访问的问题修复代码编辑器在页面重建后可能丢失光标, 选区或未保存内容, 以及软键盘遮挡内容区域的问题修复主页抽屉在窄屏下控件裁切, 以及主页关闭或多指触摸时可能导致应用崩溃的问题修复主页抽屉 "前台时保持屏幕常亮" 的已存设置值无效时可能导致主页崩溃的问题 (by djbclark)pr #557修复浮动按钮菜单显示的最近应用包名及 Activity 信息异常issue #529修复浮动按钮 "运行脚本" 对话框最小化后可能无法还原的问题 (试修)issue #500修复插件中心刷新时可能丢失已安装插件, 显示空白列表或安装错误变体 (如 x86 设备误选 x86_64 安装包) 的问题修复插件授权或暂时无法连接后无法完成启用, 以及关闭 Offline Docs 插件后无法再次启用的问题修复AutoJs6 更新后首次使用 Shizuku 相关功能时报告无法使用 Shizuku 服务的问题修复AutoJs6 被强制停止后, 经 Shizuku 启动的命令 (如音量键监听) 仍在后台运行并逐次累积的问题issue #474修复仅具备 Shizuku 权限时 RootAutomator 创建失败, 以及录制脚本结束后输入事件监听进程未退出的问题修复设置页面 "使用 '音量加' 键控制脚本运行" 开关开启后需重启应用才能生效的问题修复APK 打包取消时误报构建失败, 以及签名证书校验和 Android 9-11 签名识别异常的问题修复打包应用缺少运行时组件时 shell 原生库可能缺失导致崩溃, 以及打包的 UI 脚本启动时偶发空白页面后退出的问题修复后台安装 APK 时无法继续确认安装的问题修复VSCode 插件保存项目时已删除文件仍残留在设备中的问题vscode-ext issue #29修复VSCode 插件接收项目归档时可能因日志处理导致内存不足的问题issue #523修复VSCode 插件的失效连接阻塞日志发送, 导致新连接无法接收日志的问题issue #385修复检查更新时未按设备 ABI 优先级选择安装包的问题修复屏幕坐标换算 (cXy/cYx/setScaleBases) 异常, 以及自然方向为横屏的设备上 device.width/height 宽高互换的问题修复device.keepAwake/keepScreenOn/keepScreenDim 未指定超时时唤醒锁在脚本结束后仍未释放的问题修复IntelliJ IDEA/Gradle 构建项目时模块依赖, SDK 及打包模板路径解析异常的问题优化延迟初始化非关键组件以提升应用启动速度优化应用启动时不再自动弹出权限申请对话框, 缺少所有文件管理权限时改为在主页显示可直接授权的提醒优化应用及打包应用适配 Android 17 及 16 KB 内存页设备优化精简安装包内的依赖, 语言资源及图像资源以缩减文件体积优化完善界面, 异常消息及引擎错误消息的多语言显示优化检查更新通过 GitHub REST API 获取版本与安装包信息优化应用内置简体中文及英文发行历史, 其他语言支持在线获取与缓存优化插件化离线项目文档 (Offline Docs 插件), 支持独立安装及更新优化插件化打包模板 (APK Builder Template 插件), 打包时校验模板兼容性优化插件化 ML Kit OCR/ML Kit Barcode/Rapid OCR/OpenCV/Image Quantization 相关功能优化插件化 OpenCC/Pinyin/Pinyin4j/MediaInfo 相关功能优化APK 安装改由 3-Setup Installer 插件提供安装对话框, 插件不可用时使用系统安装器, APKS/XAPK 等分包容器需要该插件才能安装优化插件中心完善在线安装与更新, 变体选择, 排序, 插件设置及发行历史显示, 并提升列表加载及刷新的流畅度优化官方插件安装后默认启用, 主题色, 夜间模式及语言跟随 AutoJs6 设置优化插件中心临时置顶新安装的插件并标出 "新安装" 或 "启用失败"优化主页插件标签页浮动按钮菜单优先显示安装向导及插件库, 长按浮动按钮可进入插件中心优化Rhino 引擎同步上游, 支持 new.target 及 Uint8Array 的 Base64/Hex 转换等新特性, 并提升脚本启动效率及兼容性优化Rhino 引擎的解构, 展开, 可选链, Proxy/Reflect, BigInt 及块级函数声明等行为与 ECMAScript 规范一致优化全局 Promise 统一为 Rhino 内建实现, 增加 Promise.any/withResolvers/try 方法, 未处理的拒绝在控制台输出错误优化移除内置的 com.stardust 兼容类副本, 以 com.stardust 前缀引用的类名改为映射到 AutoJs6 的同名实现 (参阅 项目文档 > AutoJs4 运行时)优化文件日志改用内置实现, 保留已文档化的配置选项及常用 PatternLayout 格式, 其他 Log4j API 不再提供优化ocr 模块默认按 ML Kit/Paddle/Rapid 顺序自动选择已安装的引擎, Paddle 引擎支持按语种 (profile) 选择插件及 useCls 文字方向分类选项参数优化pinyin/pinyin4j/opencc 模块支持自定义读音词典, 多种罗马字方案, 批量转换及链式转换优化images.matchTemplate/matchFeatures 等方法支持更多参数, 多点找色, 模板匹配及特征匹配提升执行效率与结果准确性优化images.captureScreen 方法在画面静止时及时刷新取帧, images.requestScreenCapture 方法只申请共享整个屏幕, 避免 Android 14+ 选择单个应用后截图与坐标不对应优化runtime.loadJar 方法支持借助 DEX Compiler 插件加载 JAR 文件 (实验性, 默认关闭)优化KeyCode 方法提升参数兼容性并支持使用 Shizuku 权限发送键码指令issue #492优化shell 函数支持 adb 选项, 用于经 Shizuku 执行命令 (兼容 Auto.js Pro)优化无障碍服务支持使用 Shizuku 自动启用优化device.getAndroidId 方法支持 useSystemId 参数, 用于在 Android 8.0+ 上通过 Shizuku/Root 获取系统值优化恢复 console.rawInput/input 方法, 支持通过控制台输入栏读取文本或求值表达式优化控制台浮动窗口增加统一操作菜单, 支持调整大小及配置时间, 着色, 字号与透明度优化media.playMusic 方法支持前台播放, 音频焦点及通知栏控制优化原生 Android XML 布局中无法设置的属性改为跳过并在控制台警告, 不再导致整个布局加载失败优化代码编辑器统一主题配色及菜单布局, 提升打开文件时的显示速度, 运行脚本后运行按钮切换为停止按钮优化文件管理器统一文件预览及插件操作入口, 列表刷新时保留滚动位置优化版本历史避免重复快照, 回收站恢复到新路径时同步迁移版本历史优化布局分析层次视图支持属性摘要, 父级高亮及逐级选择父控件优化主页抽屉的 "连接到计算机" 分组更名为 "远程连接"优化浮动按钮及相关窗口跟随应用语言与夜间模式优化默认颜色库的亮色与暗色窗口背景合并为 "背景色" 一项, 可选择自动跟随或自动反色, 升级前的选择保持不变优化VSCode 插件连接增加心跳检测及数据长度校验issue #333issue #523优化VSCode 插件保存文件时支持按相对目录结构保存到工作目录vscode-ext issue #37优化示例代码增加 3-Block Compose, 语音, 自动化流程, 控制台交互及电子书操作示例优化Gradle 构建支持动态匹配 Kotlin/KSP/AGP/R8 兼容版本, 平台兼容数据迁移至 AutoJs6-Gradle-Platform-Versions 项目优化部分依赖或本地库版本调整CHANGELOG.md
新增插件中心功能, 支持插件的安装/卸载/更新等操作 (入口: 主页抽屉按钮/主页标签页)新增设置页面启动器快捷方式增加 "插件" 选项, 用于通过快捷方式跳转到插件中心页面新增版本历史功能, 支持查看/恢复可编辑文件的历史版本 (入口: 主页抽屉按钮/文件管理器菜单/代码编辑器菜单)新增代码编辑器增加 "多功能键盘" > "符号设置" 菜单项, 支持符号编辑及按配置级别创建/导入/导出符号新增回收站功能, 支持查看/恢复已删除的文件/文件夹 (入口: 主页抽屉按钮)新增Paddle OCR (PP-OCRv5) 插件, 用于光学字符识别新增cvt 模块, 用于数据单位转换 (参阅 项目文档 > 单位转换)新增cvt.bytes 方法, 用于字节数据单位转换 (参阅 项目文档 > 单位转换)新增fmt 模块, 用于数据格式化 (参阅 项目文档 > 格式化)新增fmt.bytes 方法, 用于字节数据格式化 (参阅 项目文档 > 格式化)新增zip 模块, 用于文件压缩与解压缩操作 (Ref to Auto.js Pro) (参阅 项目文档 > Zip)新增mediainfo 模块, 用于查看媒体文件的详细信息 (参阅 项目文档 > 媒体信息)新增s13n.bytes 方法, 用于标准化字节数据 (参阅 项目文档 > 标准化)新增app.isDualInstalled 方法, 用于检测双开应用是否已安装 (需要 Shizuku 或 Root 权限)issue #450新增device.getSharedDeviceId 方法, 用于跨应用获取统一共享设备 IDissue #455新增device.setPointerLocation 等 Toggleable 系列方法, 用于设置或获取指针位置系统设置项issue #381新增dialogs.build 方法支持 textAllCaps/(positive/negative/neutral)TextAllCaps 选项参数, 用于控制按钮文本是否全部大写新增images.loadAsync 方法, 用于异步获取网络图像资源issue #327新增ui.getNavigationBarHeight 方法/navigationBarHeight 属性 (getter), 用于获取导航栏高度issue #456新增ui.getVisible(Status/Navigation)BarHeight 方法/visible(Status/Navigation)BarHeight 属性 (getter), 用于获取状态栏或导航栏的可见高度issue #456新增http.put/del(ete)/head 方法, 用于发送不同类型的 HTTP 请求新增http.getAsync/postAsync/requestAsync 等方法, 用于异步发送网络请求issue #423新增http 模块请求相关方法获取的 body 对象增加 stream/saveToFile/close 等方法issue #452新增http 模块请求相关方法支持缓存控制选项参数 (cacheBody/bodyCacheThresholdBytes)新增http 模块请求相关方法支持不安全选项参数 (isInsecure/insecure), 用于忽略证书相关异常issue #417新增http 模块请求相关方法支持 options.client 选项, 用于配置 OkHttpClient.Builder (如 followRedirects 等)issue #454新增auto.state 属性 (getter) 及 shizuku.state 属性 (getter), 用于获取无障碍服务状态及 Shizuku 服务状态新增UiObject#isShifted 方法, 用于检测控件位置变化issue #469新增UiObject#snapshot 方法, 用于捕获控件当前状态issue #469新增等价系列选择器 (UiSelector#id/text/...) 及包含系列选择器 (UiSelector#xxxContains) 支持正则表达式参数新增选择器的正则表达式参数支持使用标志 (i, m, s, u)新增runtime.(set/is)JavaPrimitiveWrap 方法, 用于设置或获取 Java 原始类型包装策略issue #435新增autojs.restart/exit 方法, 用于重启或退出 AutoJs6, 并支持重启后运行指定脚本issue #460新增engines.myEngine().getStartTime() 方法, 用于获取脚本引擎启动时间戳issue #449新增crash 全局方法, 用于测试崩溃报告页面新增structuredClone 全局方法, 用于深拷贝 JavaScript 对象 (参阅 MDN)新增正则表达式支持后瞻断言语法issue #464新增文件管理器增加 "移动到" 及 "复制到" 菜单项, 支持操作中止及进度状态显示新增主页抽屉增加 "指针位置" 工具新增主页抽屉增加 "所有文件管理权限" 开关新增主页抽屉增加 "后台弹出界面" 开关 (针对小米/Vivo 设备)新增设置页面增加 "Java 原始类型包装" 设置选项issue #435新增设置页面增加 "定时任务调度引擎" 设置选项, 支持 AlarmManager/WorkManager/JobSchedulerissue #457issue #434issue #449issue #388issue #378issue #163issue #53issue #21新增设置页面增加 "应用启动器图标" 设置选项, 支持自适应图标/透明背景图标issue #405新增设置页面增加 "重启策略" 设置选项, 用于配置主页抽屉重启按钮是否使用快速重启新增设置页面增加 "屏幕捕获权限申请延迟" 设置选项, 用于避免权限申请窗口遮挡屏幕新增打包应用支持开机自启动并在配置页面增加开关配置新增打包应用支持应用快捷方式 (日志页面/设置页面)新增打包应用配置页面增加撤销/重做/保存按钮新增打包应用配置页面支持配置的创建/修改/删除/导入/导出issue #483新增Scrapers 工具 (run-scrapers.mjs), 用于自动更新 Gradle 构建数据及 README 通用数据与模板新增Gradle Wrapper 切换工具 (gradle-wrapper-switcher), 用于切换本地 Gradle 主版本 (如 Gradle 8.x 与 Gradle 9.x)修复notice 方法参数数量及类型限制错误issue #462修复ui.R 属性 (getter) 无法正常使用的问题修复ui.post 方法回调参数中产生异常时可能静默失败的问题修复isJavaClass/isJavaPackage 等全局方法无效的问题修复timers.keepAlive 方法 timeout 参数功能无效的问题修复floaty.window/rawWindow 方法无法接受字符串参数的问题issue #467修复floaty.rawWindow 因传入错误的上下文导致部分控件显示异常的问题修复util.isString 方法无效的问题修复util.class[Name]/getClass[Name] 可能返回错误结果的问题修复util.java.array 无法正常使用 Boolean 等类型参数的问题修复threads.disposable() 返回的对象在存取数据时可能被意外装箱的问题issue #435修复console.build 方法多次调用时, 日志浮动窗口样式选项未能正常重置的问题修复console.build 方法的 (title/content)BackgroundColor 选项导致透明度或着色选项被覆盖的问题issue #458修复服务端模式连接时, 旋转屏幕及切换语言等触发 Activity 重建的操作导致 VSCode 控制台无法输出日志的问题issue #385修复console/toast 等方法显示 Java Double 时可能丢失末尾零的问题修复无法使用 console/toast 等方法显示 BigInt 数据类型的问题修复toast 方法因持有 Toast 实例强引用而可能导致内存泄漏的问题修复部分全局对象可能丢失 JavaScript 原型属性及方法的问题修复使用 XML 语法将 JavaScript 表达式作为属性值时, this 对象可能出现指向错误的问题修复dialogs.build 方法 linkify 选项参数功能失效的问题修复dialogs.build 方法可能破坏对象参数原有数据的问题修复canvas 元素控件 setMaxFps 方法内部帧率计算错误修复images.concat 方法纵向拼接时宽度值计算错误修复images.requestScreenCapture 方法调用时用户取消授权可能导致应用崩溃的问题修复images.captureScreen 方法获取的截图可能存在方向错误或黑边填充的问题issue #337修复images 部分方法使用区域参数时 1 被误解析为百分比的问题修复images 部分相关方法出现异常时 oneShot 标记功能失效的问题issue #372修复images 部分相关方法可能引发内存泄漏的问题issue #372修复images.save 及 ImageWrapper#saveTo 方法传入路径不存在时无法正常写入文件的问题修复ImageWrapper#recycle 方法回收图像资源功能失效的问题修复ocr 部分重载方法可能无法正常使用的问题修复ocr.detect 方法获得的结果可能与 ocr.mode 不匹配的问题issue #468修复部分设备无法正常初始化 ML Kit OCR 的问题 (试修)issue #8修复auto.registerEvent 注册的无障碍服务事件会被其他脚本误清理的问题issue #466issue #343修复Android 10 UiObject#child 方法可能出现 ArrayIndexOutOfBoundsException 异常的问题issue #416修复内置模块方法调用时 Rhino 上下文可能不一致的问题修复脚本创建大量浮动窗口后, 脚本退出时可能出现窗口残留的问题修复运行项目时 project.json 配置参数可能无法正常解析的问题修复项目打包时 project.json 的 excludedDirs 配置参数将导致配置文件解析失败的问题issue #428修复打包应用无法正常使用 Paddle OCR 与 Rapid OCR 功能的问题修复打包应用配置文件 project.json 中的 key 值可能被意外修改的问题修复打包应用配置页面滑动 "需要的权限" 列表时可能出现复选框图标闪烁的问题修复Android 7.x 可能无法正常使用打包功能的问题修复脚本项目配置文件保存时原始键名可能会被修改的问题修复脚本项目配置文件中构建版本号或构建时间出现较大数字时可能导致应用崩溃的问题修复频繁获取或重建 ImageReader 时可能因缓冲区暂无可用帧导致应用崩溃的问题修复输入事件观察器 InputEventObserver 可能导致应用启动时明显卡顿的问题修复Shizuku 用户服务进程未能正常结束导致进程堆积的问题issue #474修复发行历史页面部分系统因字体差别导致统计数据显示不完整的问题修复部分设备无法正常触发文件管理器功能按钮点击事件的问题 (试修)issue #465修复文件管理器搜索结果展示后点击返回按钮或切换标签页面时可能导致应用崩溃的问题修复文件管理器删除项目文件夹后 UI 未能自动刷新的问题修复部分设备代码编辑器空行显示方框字符的问题 (试修)修复代码编辑器软键盘可能遮挡文本内容的问题修复代码编辑器在只读模式下依然可以编辑代码内容的问题修复代码编辑器在只读模式下点击标题区域及部分菜单项导致应用崩溃的问题修复代码编辑器加载大文件可能导致应用崩溃的问题 (试修)修复代码编辑器自动打开新建文件时功能按钮状态初始化异常修复代码编辑器编辑文件时置于后台可能导致应用崩溃的问题修复Android 15+ 代码编辑器点击 fx 按钮无法显示模块函数快捷面板的问题 (试修)修复ErrorDialogActivity 可能无法正常启动或短时间自动消失的问题issue #479issue #471issue #414issue #340修复Canvas 构造函数可接受的参数类型错误issue #402修复崩溃报告页面复制详细信息功能失效的问题修复Android 16+ 自定义返回逻辑失效导致返回功能异常的问题修复任务面板列表项频繁变动时可能导致应用崩溃的问题修复使用 "三按钮" 手势导航时导航栏前景色可能与夜间模式关联异常的问题修复APK 文件类型信息对话框可能无法获取应用名称及 SDK 信息的问题修复客户端模式连接后, 短时间断开连接并再次连接时, 出现握手超时且难以再次建立连接的问题修复客户端模式连接时, 旋转屏幕及切换语言等触发 Activity 重建的操作导致 AutoJs6 总是重建连接的问题修复连接 VSCode 插件时, 多种方式同时连接可能导致日志打印数量成倍增加的问题修复布局分析页面生成代码时对于集合控件可能生成失败的问题 (试修)issue #328修复设置页面 "使用 '音量减' 键控制录制" 开关功能失效的问题issue #480修复小米设备 "显示在其他应用上层" 开关可能跳转到错误设置页面的问题修复录制脚本生成的代码文件可能出现坐标数值与屏幕实际像素值不匹配的问题issue #480修复录制脚本生成的代码文件首个行为 (如点击或滑动等) 总是被忽略的问题修复浮动按钮 "运行脚本" 对话框后台操作文件时可能导致应用崩溃的问题修复主页活动页面生命周期结束后重新进入主页时, 浮动按钮状态可能被重置的问题修复检查更新中止下载过程后, 网络数据包依然持续后台获取的问题 (试修)修复构建工具启用 isCleanup[Paddle/Rapid]Ocr 配置选项时无法正常完成 Rebuild Project 任务的问题优化插件化 Paddle OCR (PP-OCRv3) 相关功能issue #334issue #331issue #325优化runtime.loadJar 方法增强兼容性 (by LYS86)pr #475优化ui.getStatusBarHeight 方法/statusBarHeight 属性 (getter) 增强一定程度的兼容性优化console.log 等方法打印全局对象 (images, app, ocr 等) 时支持显示详细信息优化控制台相关方法打印巨型数据时根据上限适当省略部分内容以降低打印耗时优化控制台浮动窗口倒计时起始值由 6 秒增加到 9 秒优化控制台浮动窗口内部实现进行无锁化及队列化处理以提升其参数设置效率与成功率优化控制台浮动窗口背景色彩行为相关 API (透明度/着色/基色) 更符合安卓设计规范issue #458优化dialogs.build 方法支持使用 MaterialDialog.Builder 原生选项参数优化dialogs.build 方法 animation/linkify 选项参数支持字符串宽松匹配优化device.rotation/orientation/width/height 属性获取屏幕方向及宽高数据的稳定性与一致性优化app.launchDual/startDualActivity 等方法提升执行效率并增强兼容性优化android.graphics.Paint#setColor 支持正常解析 ColorInt/ColorHex/ColorName 等颜色参数优化内置模块相关方法实参类型的异常消息增加类型摘要信息优化内置模块 (dayjs/cheerio/i18n) 改用全局懒加载以替代脚本执行模式优化文件管理器浮动按钮展开后点击菜单项时优化菜单收起时机优化文件管理器/任务面板支持显示文件/任务数量统计信息优化代码编辑器保存文件失败时自动存为草稿并支持另存为新文件优化代码编辑器加载大文件时提升一定程度的流畅度优化代码编辑器 "查找/替换" 支持状态持久化及实时显示搜索计数信息优化代码编辑器提示保存时确保保存成功后再退出编辑器以降低保存失败率优化代码编辑器保存按钮的状态更符合用户主观逻辑优化代码编辑器支持 "-", "=", "(", "[", "{", "<" 等按键长按功能优化打包应用打包过程对话框增加 "中止" 按钮优化打包应用打包过程对话框的显示方式并增加耗时统计优化打包应用使用新配置安装时将覆盖旧应用的相关配置优化打包应用配置页面默认勾选必要权限 (WAKE_LOCK/INTERNET/WRITE_EXTERNAL_STORAGE/...)issue #397优化打包应用配置页面支持更多选项的读取及配置 (启动时显示日志/启动时显示启动页/启动页标语文本/...)优化打包应用设置页面增加前台服务开关issue #406优化脚本项目配置文件保存时增加键名冲突检测机制防止键名歧义优化崩溃报告页面支持双指缩放调整字体大小并添加常用功能按钮优化应用启动器图标支持自适应图标特性issue #405优化Rhino 引擎在泛型签名解析失败时回退为原始反射类型以增强低版本安卓系统的反射方法可用性优化主页抽屉开关类条目添加分隔线, 支持点击标题文字区域显示详情对话框并按需支持快捷跳转系统设置优化启动或重启 AutoJs6 时支持点击主页抽屉 "客户端模式" 标题文字区域中止正在尝试建立的连接优化客户端模式连接时支持使用 IPv6 地址及域名地址建立连接优化客户端模式连接时支持特殊用途 IPv4 地址 (回环/广播/多播/保留/...) 检测提示优化客户端模式连接时支持连接状态显示及管理 (修正地址/中止连接)优化服务端模式连接时支持显示已建立连接的客户端数量优化读取通知权限支持自动重连机制 (requestRebind) 以增强通知监听相关功能的稳定性优化浮动按钮增强后台启动 Activity 的安全性以避免应用崩溃优化浮动按钮 "更多" 对话框使用异步加载数据方式提升显示流畅度优化浮动按钮 "运行脚本" 对话框增加 "主页" 菜单项优化浮动按钮 "运行脚本" 对话框支持最小化及状态恢复并尽最大努力保持窗口常驻或自动恢复优化支持使用 Shizuku 权限录制脚本及录制回放 (回放流畅度受一定影响)issue #320优化主题色设置页面定位主题色时使用快速定位方式以提升定位效率优化使用 LiveData 及 SharedFlow 替代已弃用的 LocalBroadcastManager优化Gradle 构建脚本提升 7z 格式文件的解压效率优化Gradle 构建脚本支持获取详细的 Android Studio IDE 版本 (如 "2025.1.4.7")优化Gradle 构建脚本支持自动生成 VersionCodesList 类所需数据以降低脚本启动延迟优化使用 版本目录 (Version Catalogs) 集中管理 Gradle 依赖和插件版本优化模块化 Gradle 构建脚本, 将共享构建逻辑迁移至 build-logic 并抽象为约定插件优化使用 Gradle 约定插件简化本地 AAR 库加载逻辑优化移除 "android.enableJetifier=true" Gradle 配置选项以适配 Gradle 9优化使用 Toolchain 替代 sourceCompatibility/targetCompatibility 以降低构建环境差异优化部分依赖或本地库版本调整CHANGELOG.md
提示API 变更: ui.(status/navigation)BarAppearanceLight[By] -> ui.(status/navigation)BarIconLight[By]新增util.dpToPx/spToPx/pxToDp/pxToSp 方法, 用于像素单位转换修复屏幕旋转至横向时子标题可能显示不完整的问题修复屏幕旋转至横向时部分页面内容被侧边导航栏遮挡的问题修复Android 15 部分页面状态栏背景着色区域不完整的问题issue #398修复代码编辑器可能使用置信度不足的编码写入文件导致内容解码异常的问题 (试修)优化关于应用与开发者页面提升布局适配性并移除不必要的布局分类优化README.md 项目编译构建小节增加设置页面的定位方式issue #404优化部分依赖或本地库版本调整CHANGELOG.md
如需对 AutoJs6 开源项目进行调试或开发, 可使用 Android Studio (Google 公司产品) 或 IntelliJ IDEA (Jetbrains 公司产品).
本小节以 Android Studio 为例介绍 AutoJs6 开源项目的编译构建方法, IntelliJ IDEA 与之类似.
下载 Android Studio Rabbit 1 | 2026.2.1 版本 (按需选择其一):
- android-studio-rabbit1-windows.exe (1.41 GiB)
- android-studio-rabbit1-windows.zip (1.42 GiB)
- android-studio-rabbit1-linux.tar.gz (1.46 GiB)
注: 上述版本发布时间为 2026 年 10 月 1 日. 如需下载其他版本, 或上述链接已失效, 可访问 Android Studio 发行版本归档 页面.
安装或解压上述文件, 运行 Android Studio 软件 (如 "D:\android-studio\bin\studio64.exe").
注: 如果计算机系统已安装 Android SDK (安卓软件开发工具包), 则可跳过此小节内容.
打开 Android SDK (安卓软件开发工具包) 设置页面 (任选一种方式):
Help (帮助) | Find action (查找操作) # 输入 "Android SDK"
[ 或 ]
File (文件) | Settings (设置) # 搜索 "Android SDK"
[ 或 ]
File (文件) | Settings (设置) | Language & Frameworks (语言和框架) | Android SDK (安卓软件开发工具包)
[ 或 ]
File (文件) | Settings (设置) | Appearance & Behavior (外观与行为) | System Settings (系统设置) | Android SDK (安卓软件开发工具包)
Android SDK Location (安卓软件开发工具包位置) 处如果是空白内容, 可点击右侧 Edit (编辑) 按钮, 在弹出的窗口中多次点击 Next (下一步).
注: 过程中可能需要同意一个或多个相关协议才能继续.
待相关资源下载并安装完毕, 点击 Finish (完成) 按钮.
上述 Android SDK Location (安卓软件开发工具包位置) 处将自动完成路径填写, SDK 准备工作随即完成.
AutoJs6 需要使用部分 SDK 工具 (如 NDK 及 CMake).
注: 如果计算机系统已安装 AutoJs6 全部所需的 Android SDK Tools, 则可跳过此小节内容.
打开 SDK Tools (SDK 工具) 设置页面 (任选一种方式):
Help (帮助) | Find action (查找操作) # 输入 "SDK Tools"
[ 或 ]
File (文件) | Settings (设置) # 搜索 "SDK Tools"
[ 或 ]
File (文件) | Settings (设置) | Language & Frameworks (语言和框架) | Android SDK (安卓软件开发工具包) | SDK Tools (SDK 工具) (位于右侧窗口)
[ 或 ]
File (文件) | Settings (设置) | Appearance & Behavior (外观与行为) | System Settings (系统设置) | Android SDK (安卓软件开发工具包) | SDK Tools (SDK 工具) (位于右侧窗口)
勾选 Show Package Details (显示包详情), 依次点击 NDK 及 CMake, 确保相应版本的工具已勾选, SDK 工具的版本信息位于 AutoJs6 项目根目录的 version.properties 文件中.
AutoJs6 项目依赖的 JDK (Java 开发工具包) 发行版本不低于 17, 但建议不低于 21.
截至 2026 年 10 月 2 日, AutoJs6 可支持 JDK 最高版本为 26.
注: 如果计算机系统已安装 JDK 且版本满足上述要求, 则可跳过此小节内容.
JDK 可使用 IDE 直接下载, 或访问 Oracle 网站 下载.
打开 Gradle JDK 设置页面 (任选一种方式):
Help (帮助) | Find action (查找操作) # 输入 "Gradle JDK"
[ 或 ]
File (文件) | Settings (设置) # 搜索 "Gradle"
[ 或 ]
File (文件) | Settings (设置) | Build, Execution, Deployment (构建, 执行, 部署) | Build Tools (构建工具) | Gradle
Gradle JDK 处可选择或添加不同版本的 JDK.
如果列表中已存在合适版本的 JDK (>= 17), 则直接选择即可.
否则可以选择 Download JDK (下载 JDK) 下载合适的 JDK, 点击 Download (下载) 按钮并等待下载完成.
也可以选择 Add JDK (添加 JDK) 添加已存在的本地 JDK, 定位其目录并完成 JDK 添加.
在 Android Studio 主页面点击 Get from VCS (从版本控制系统获取) 按钮.
URL (统一资源定位地址) 处填入 https://github.com/SuperMonster003/AutoJs6.git,
Directory (目录) 处可根据需要修改为特定路径.
点击 Clone (克隆) 按钮, 等待 AutoJs6 项目资源在设备本地完成克隆.
注: 上述过程可能需要安装 Git (分布式版本控制系统).
克隆完成后, Android Studio 将打开 AutoJs6 的项目窗口, 并自动完成初步的 Dependencies (依赖) 下载及 Gradle 构建工作.
注: 上述过程可能非常耗时. 若网络条件欠佳, 可能需要重试多次 (点击 Retry 按钮).
如果构建未能自动进行, 或需要再次构建项目, 可执行以下步骤:
- 在
Toolbar (工具栏)中, 从Run/Debug Configurations (运行/调试配置)菜单中选择app, 这是 AutoJs6 的主应用 - 点击左侧的
Build Project (构建项目)按钮 (形如铁锤) 开始构建项目, 默认快捷键为 CTRL + F9 - 等待构建完成,
Builder Output (构建输出)标签页将出现类似 "BUILD SUCCESSFUL in 1h 17m 34s" 的消息
如果构建失败, 可将异常消息反馈到 AutoJs6 项目的 议题 (Issues) 页面.
注: 关于如何构建并运行应用的更多内容, 可参阅 Android Docs
项目构建成功后, 可将项目作为应用程序 (简称 App) 部署到实体设备 (如手机/平板电脑) 或虚拟设备 (如 Android 模拟器) 中.
- 在
Toolbar (工具栏)中, 从Run/Debug Configurations (运行/调试配置)菜单中选择app, 这是 AutoJs6 的主应用 - 在右侧
Available Devices (可用设备)菜单中, 选择需要运行项目 App 的设备 (实体设备或虚拟设备) - 点击右侧的
Run (运行)按钮 (形如三角形) 开始运行项目, 默认快捷键为F10 - 等待部署完成, 指定设备将自动安装并运行项目 App
打包项目并生成可安装到安卓设备的 APK 文件:
- 调试版 (Debug Version)
Build (构建)|Build Bundle(s) / APK(s)|Build APK(s)- 生成带默认签名的调试版安装包
- 路径示例:
"D:\AutoJs6\app\build\outputs\apk\debug\"
- 发布版 (Release Version)
Build (构建)|Generate Signed Bundle / APK- 选择
APK选项 - 准备好签名文件 (新建或选取), 生成已签名的发布版安装包
- 路径示例:
"D:\AutoJs6\app\release\"
注: 关于如何构建应用以向用户发布的更多内容, 可参阅 Android Docs
除了构建项目 App 之外, AutoJs6 还支持一些预置的 Gradle 构建任务, 这些任务可以帮助开发者完成与项目相关的便捷操作.
在 Toolbar (工具栏) 的 Run/Debug Configurations (运行/调试配置) 菜单中, 可看到各个 Gradle 预置任务, 每个任务左侧均显示带小象图标的任务标识.
- AutoJs6 [inrt:assemble]
组装 "inrt" 构建变体, 主要服务于 AutoJs6 脚本打包功能.
AutoJs6 项目拥有不同的构建变体, 其中 "inrt" 变体用于实现 AutoJs6 的脚本打包功能, 生成打包功能依赖的模板文件 "template.apk".
使用打包功能时可能会出现以下异常消息:
java.io.FileNotFoundException: template.apk
这表明模板文件不存在, 需要手动运行一次 inrt:assemble 任务, 生成模板文件, 然后再次构建并部署 App.
注: 当主项目代码发生变更, 且希望将变更同步到打包应用时, 需要重新运行
inrt:assemble任务生成模板文件并再次部署 App
- AutoJs6 [app:bundle]
打包 debug 版本编译过程产物, 主要服务于 AutoJs6 声明文件 项目.
任务运行后生成一个 AutoJs6 项目最新的 JAR 文件, 利用 Android d.ts Generator (by NativeScript) 工具可生成 AutoJs6 主应用的声明文件 (d.ts 格式).
- AutoJs6 [app:digest]
附加摘要信息到 release 版本编译产生的 APK 文件, 主要服务于 AutoJs6 发布最新版本到 GitHub 前确定最终的文件名.
以下为附加摘要信息前后的文件名对比:
前:
autojs6-v6.6.2-arm64-v8a.apk
后:
autojs6-v6.6.2-arm64-v8a-0f2a9d74.apk
参阅: Android Docs
开发 AutoJs6 可运行的脚本, 需使用合适的开发工具:
如需在 PC 上进行脚本编写与调试, VSCode 插件可以实现 PC 与手机的互联:
- AutoJs6-VSCode-Extension - AutoJs6 调试器 (VSCode 平台插件)
使用开发工具编写代码时, 代码智能补全功能可以更好地辅助开发者完成代码编写:
- AutoJs6-TypeScript-Declarations - AutoJs6 声明文件 (代码智能补全)
编写代码时, AutoJs6 相关 API 及使用方式, 可随时查阅应用文档:
- AutoJs6-Documentation - AutoJs6 应用文档
现有的脚本开发项目可作为参考, 激发个人脚本项目的创作灵感:
- Ant-Forest - 蚂蚁森林能量自动收取脚本 by TonyJiangWJ
- Ant-Forest - 蚂蚁森林能量自动收取脚本 by SuperMonster003
- autojs - Auto.js 实用脚本 by e1399579
- autojsDemo - Auto.js 演示示例 by snailuncle
- autojs 相关仓库 - GitHub 与 autojs 话题相关的全部仓库
感谢每一位参与 AutoJs6 项目开发的贡献人员.
| 贡献人员 | 提交数 | 最近提交 |
|---|---|---|
DeanTMaxim (DeanT.Maxim) |
2 | 2026/08/21 |
djbclark (Daniel JB Clark) |
5 | 2026/07/14 |
| M17764017422 | 1 | 2026/03/16 |
iamsanjaymalakar (Sanjay Malakar) |
1 | 2026/03/09 |
| Willie169 | 1 | 2026/03/03 |
LYS86 (Lin) |
4 | 2025/12/26 |
| wirsnow | 1 | 2025/05/19 |
| TonyJiangWJ | 4 | 2025/04/24 |
| luckyloogn | 3 | 2024/12/31 |
| kvii | 1 | 2024/10/16 |
chenguangming (Tom) |
2 | 2024/05/14 |
LZX284 (AI) |
7 | 2023/11/15 |
kojoe‑code (抠脚本人) |
12 | 2023/07/12 |
| aiselp | 6 | 2023/06/14 |
数据更新于 2026 年 11 月 3 日.
数据条目按 最近提交 降序排序.
新发起的暂未处理的 Pull Request, 将在合并处理后加入数据统计.
部分贡献人员在 GitHub Contributors 未能正常出现, 其提交记录为空, 仍可通过 Pull Request 查看贡献记录.
