当前自述文件 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 相关项目 (按开发日期排序):
| 项目 | 应用名称 | 主要开发者 | 开发日期 | 终止开发日期 | 活跃维护期 (年) |
|---|---|---|---|---|---|
| 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 |
| Auto.js Pro 8 | AutoJsPro | hyb1996 | 2019/10/13 |
2021/07/24 |
1.78 |
| Auto.js | Auto.js M | TonyJiangWJ | 2019/11/21 |
- | < 6.32 > |
| AutoX | Autox.js | kkevsekk1 | 2020/07/24 |
[ 2025/01/07 ] |
4.46 |
| Auto.js Pro 9 | AutoJsPro | hyb1996 | 2021/03/28 |
2023/02/09 |
1.87 |
| AutoJs6 | AutoJs6 | SuperMonster003 | 2021/12/01 |
- | < 4.28 > |
| autojs4 | Auto.js | blackcd318 | 2021/12/15 |
2023/07/31 |
1.62 |
| AutoX | Autox.js v6 | wilinz / aiselp | 2022/05/26 |
[ 2025/01/07 ] |
2.62 |
| openautojs | OpenAuto.js | openautojs | 2023/02/17 |
2023/04/16 |
0.16 |
| AutoJs4 | AutoJs4 | SuperMonster003 | 2023/04/11 |
- | < 2.93 > |
| AutoX | Autox.js v7 | aiselp | 2024/04/21 |
- | < 1.90 > |
| Autoxjs_v6_ozobi | Autox.js v6_ozobi | ozobiozobi | 2024/10/01 |
- | < 1.45 > |
| AutoX | Autox.js v6 | autox-community | 2025/03/30 |
- | < 0.96 > |
表格中的日期为预估值, 实际可能存在出入.
表格中 Auto.js Pro 7/8/9 为付费版本, 其余为免费开源版本.
表格中 终止开发日期 列包含方括号 ([]) 的数据, 表示开源项目暂时无法访问.
表格中 活跃维护期 列包含尖括号 (<>) 的数据, 其统计截止日期为 2026 年 3 月 14 日.
- 可用作 JavaScript IDE (代码补全/变量重命名/代码格式化)
- 支持基于 无障碍服务 的自动化操作
- 支持浮动按钮快捷操作 (脚本录制及运行/查看包名及活动/布局分析)
- 支持选择器 API 并提供控件遍历/获取信息/控件操作 (类似 UiAutomator)
- 支持布局界面分析 (类似 Android Studio 的 LayoutInspector)
- 支持录制功能及录制回放
- 支持屏幕截图/保存截图/图片找色/图片匹配
- 支持 E4X (ECMAScript for XML) 编写界面
- 支持将脚本文件或项目打包为 APK 文件
- 支持利用 Root 权限扩展功能 (屏幕点击/滑动/录制/Shell)
- 支持作为 Tasker 插件使用
- 支持与 VSCode 连接并进行桌面开发 (需要 AutoJs6-VSCode-Extension 插件)
相较于 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 (更新于 2025 年 12 月 25 日)
- 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 码位 转义支持 辅助平面 字符
新增插件中心功能, 支持插件的安装/卸载/更新等操作 (入口: 主页抽屉按钮/主页标签页)新增版本历史功能, 支持查看/恢复可编辑文件的历史版本 (入口: 主页抽屉按钮/文件管理器菜单/代码编辑器菜单)新增回收站功能, 支持查看/恢复已删除的文件/文件夹 (入口: 主页抽屉按钮)新增Paddle OCR (PP-OCRv5) 插件, 用于光学字符识别新增cvt 模块, 用于数据单位转换 (参阅 项目文档 > 单位转换)新增fmt 模块, 用于数据格式化 (参阅 项目文档 > 格式化)新增zip 模块, 用于文件压缩与解压缩操作 (Ref to Auto.js Pro) (参阅 项目文档 > Zip)新增mediainfo 模块, 用于查看媒体文件的详细信息 (参阅 项目文档 > 媒体信息)新增cvt.bytes 方法, 用于字节数据单位转换 (参阅 项目文档 > 单位转换)新增fmt.bytes 方法, 用于字节数据格式化 (参阅 项目文档 > 格式化)新增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 服务状态新增runtime.(set/is)JavaPrimitiveWrap 方法, 用于设置或获取 Java 原始类型包装策略issue #435新增autojs.(restart/exit) 方法, 用于重启或退出 AutoJs6 应用, 并支持应用重启时自动运行其参数指定的脚本issue #460新增UiObject#isShifted 方法, 用于检测控件位置变化issue #469新增UiObject#snapshot 方法, 用于捕获控件当前状态issue #469新增engines.myEngine().getStartTime() 方法, 用于获取脚本引擎启动时间戳issue #449新增crash 全局方法, 用于测试崩溃报告页面新增structuredClone 全局方法, 用于深拷贝 JavaScript 对象 (参阅 MDN)新增等价系列选择器 (UiSelector#id/text/...) 及包含系列选择器 (UiSelector#xxxContains) 支持正则表达式参数新增选择器的正则表达式参数支持使用标志 (i, m, s, u)新增正则表达式支持后瞻断言语法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 通用数据/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修复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修复auto.registerEvent 注册的无障碍服务事件会被其他脚本误清理的问题issue #466issue #343修复Android 10 UiObject#child 方法可能出现 ArrayIndexOutOfBoundsException 异常的问题issue #416修复内置模块方法调用可能出现 Rhino 上下文可能不一致的问题修复脚本创建大量浮动窗口后, 脚本退出时可能出现窗口残留的问题修复运行项目时 project.json 配置参数可能无法正常解析的问题修复项目打包时 project.json 的 excludedDirs 配置参数将导致配置文件解析失败的问题issue #428修复Android 7.x 可能无法正常使用打包功能的问题修复脚本项目配置文件保存时原始键名可能会被修改的问题修复脚本项目配置文件中构建版本号或构建时间出现较大数字时可能导致应用崩溃的问题修复频繁获取或重建 ImageReader 时可能因缓冲区暂无可用帧导致应用崩溃的问题修复输入事件观察器 InputEventObserver 可能导致应用启动时明显卡顿的问题修复Shizuku 用户服务进程未能正常结束导致进程堆积的问题issue #474修复打包应用无法正常使用 Paddle OCR 与 Rapid OCR 功能的问题修复打包应用配置文件 project.json 中的 key 值可能被意外修改的问题修复打包应用配置页面滑动 "需要的权限" 列表时可能出现复选框图标闪烁的问题修复发行历史页面部分系统因字体差别导致统计数据显示不完整的问题修复部分设备无法正常初始化 MLKit Google OCR 的问题 (试修)issue #8修复部分设备无法正常触发文件管理器功能按钮点击事件的问题 (试修)issue #465修复部分设备代码编辑器空行显示方框字符的问题 (试修)修复代码编辑器软键盘可能遮挡文本内容的问题修复代码编辑器在只读模式下依然可以编辑代码内容的问题修复代码编辑器在只读模式下点击标题区域及部分菜单项导致应用崩溃的问题修复代码编辑器加载大文件可能导致应用崩溃的问题 (试修)修复代码编辑器自动打开新建文件时功能按钮状态初始化异常修复代码编辑器编辑文件时置于后台可能导致应用崩溃的问题修复Android 15+ 代码编辑器点击 fx 按钮无法显示模块函数快捷面板的问题 (试修)修复ErrorDialogActivity 可能无法正常启动或短时间自动消失的问题issue #479issue #471issue #414issue #340修复Canvas 构造函数可接受的参数类型错误issue #402修复崩溃报告页面复制详细信息功能失效的问题修复Android 16+ 自定义返回逻辑失效导致返回功能异常的问题修复文件管理器搜索结果展示后点击返回按钮或切换标签页面时可能导致应用崩溃的问题修复文件管理器删除项目文件夹后 UI 未能自动刷新的问题修复任务面板列表项频繁变动时可能导致应用崩溃的问题修复使用 "三按钮" 手势导航时导航栏前景色可能与夜间模式关联异常的问题修复APK 文件类型信息对话框可能无法获取应用名称及 SDK 信息的问题修复客户端模式连接后, 短时间断开连接并再次连接时, 出现握手超时且难以再次建立连接的问题修复客户端模式连接时, 旋转屏幕及切换语言等触发 Activity 重建的操作导致 AutoJs6 总是重建连接的问题修复服务端模式连接时, 旋转屏幕及切换语言等触发 Activity 重建的操作导致 VSCode 控制台无法输出日志的问题issue #385修复连接 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 等) 时支持显示详细信息优化dialogs.build 方法支持使用 MaterialDialog.Builder 原生选项参数优化dialogs.build 方法 animation/linkify 选项参数支持字符串宽松匹配优化device.rotation/rotation/width/height 方法获取屏幕方向及宽高数据的稳定性与一致性优化app.launchDual/startDualActivity 等方法提升执行效率并增强兼容性优化android.graphics.Paint#setColor 支持正常解析 ColorInt/ColorHex/ColorName 等颜色参数优化内置模块相关方法实参类型的异常消息增加类型摘要信息优化内置模块 (dayjs/cheerio/dayjs/i18n) 脱离脚本执行模式, 使用全局懒加载方式替代优化控制台相关方法打印巨型数据时根据上限适当省略部分内容以降低打印耗时优化控制台浮动窗口倒计时起始值由 6 秒增加到 9 秒优化控制台浮动窗口内部实现进行无锁化及队列化处理以提升其参数设置效率与成功率优化控制台浮动窗口背景色彩行为相关 API (透明度/着色/基色) 更符合安卓设计规范issue #458优化文件管理器浮动按钮展开后点击菜单项时优化菜单收起时机优化文件管理器/任务面板支持显示文件/任务数量统计信息优化代码编辑器保存文件失败时自动存为草稿并支持另存为新文件优化代码编辑器加载大文件时提升一定程度的流畅度优化代码编辑器 "查找/替换" 支持状态持久化及实时显示搜索计数信息优化代码编辑器提示保存时确保保存成功后再退出编辑器以降低保存失败率优化代码编辑器保存按钮的状态更符合用户主观逻辑优化代码编辑器支持 "-", "=", "(", "[", "{", "<" 等按键长按功能优化打包应用打包过程对话框增加 "中止" 按钮优化打包应用打包过程对话框的显示方式并增加耗时统计优化打包应用使用新配置安装时将覆盖旧应用的相关配置优化打包应用配置页面默认勾选必要权限 (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
新增发行历史功能, 可查看发行版本的发行历史记录 (多语言) 与统计数据新增timers.keepAlive 方法 (已全局化), 用于保持脚本活跃状态新增engines.on('start/stop/error', callback) 等事件监听方法, 用于监听脚本引擎全局事件新增images.detectMultiColors 方法, 用于多点颜色校验issue #374新增images.matchFeatures/detectAndComputeFeatures 方法, 支持全分辨率找图 (Ref to Auto.js Pro)issue #366新增images.compressToBytes 方法, 用于压缩图像并生成字节数组新增images.downsample 方法, 用于像素降采样并生成新的 ImageWrapper新增ui.keepScreenOn 方法, 用于 UI 页面获取焦点时保持设备屏幕常亮新增ui.root 属性 (getter), 用于获取 UI 页面布局的 "窗口内容根容器" 节点新增webview 元素支持基于 JsBridge 的 Web 页面布局 (Ref to Auto.js Pro) [参阅 示例代码 > 布局 > 可交互 HTML / Vue2 + Vant (SFC)]issue #281新增布局分析支持控件隐藏 (by TonyJiangWJ)pr #371issue #355修复主页文档标签及文档活动页面显示在线文档时部分内容被系统导航栏遮挡的问题修复部分页面 Toolbar 点击按钮时可能导致标题点击事件误触发的问题修复部分设备代码编辑器空行显示方框字符的问题 (试修)修复主题色设置页面调色盘对话框可能无限叠加的问题修复无障碍服务关闭时音量加键停止所有脚本功能失效的问题修复定时任务页面编辑自定义广播内容时出现的输入法遮挡问题修复webview 元素中的控件无法正常激活输入法软键盘的问题修复APK 文件类型信息对话框可能无法获取应用名称及 SDK 信息的问题修复文件管理器示例代码进入项目目录时可能无法自动加载子目录文件内容的问题修复Android 15 UI 模式顶部内容被状态栏覆盖的问题修复Android 15 部分页面状态栏背景颜色可能无法动态跟随主题色的问题修复dialogs 模块无法正常使用 customView 属性的问题issue #364修复dialogs.input 方法的表达式参数可能无法获得执行结果的问题修复使用 JavaAdapter 时导致 ClassLoader 调用栈溢出的问题issue #376修复console.setContentTextColor 方法导致日志字体颜色丢失默认值的问题issue #346修复console.setContentBackgroundColor 方法无法接受颜色名称参数的问题issue #384修复images.compress 方法实现原理由像素降采样修正为编码质量变化修复images.resize 方法无法正常使用的问题修复engines.all 方法可能触发 ConcurrentModificationException 的问题issue #394修复README.md 中部分语言日期格式不正确的问题修复Gradle 构建脚本可能因获取到无效库档案文件长度而导致构建失败的问题issue #389优化布局分析菜单添加渐变分隔线实现一定程度的功能分组优化脚本项目配置文件 project.json 支持 permissions 选项 (by wirsnow)pr #391issue #362优化打包单文件时自动读取并勾选已安装应用的声明权限issue #362优化主题色扩充适配范围并支持更多控件类型优化主页抽屉在横向屏幕或超宽屏幕的宽度适应性优化关于应用与开发者页面增加水平布局及小屏布局适配优化设置页面对话框相关设置支持 "使用默认值" 菜单选项优化文件管理器浮动按钮展开后点击其他区域可自动隐藏优化代码编辑器格式化代码支持??,?.,??=等运算符优化代码编辑器支持 GB18030 / UTF-16 (LE/BE) / Shift_JIS 等编码的文件读写优化代码编辑器支持显示文件详细信息 (路径/编码/换行符/字节及字符总数等)issue #395优化意图相关操作 (编辑/查看/安装/发送/播放等) 增加操作异常提示优化webview 元素的 url 属性支持相对路径优化ImageWrapper#saveTo 方法的路径参数支持相对路径优化images.save 方法使用 quality 参数时支持 png 格式的文件体积压缩issue #367优化已忽略更新记录及客户端模式连接地址记录支持清空操作优化版本更新信息支持多语言显示 (与当前显示语言同步)优化使用异步加载方式一定程度提升文件管理器列表滑动流畅性优化脚本异常消息在控制台的显示内容与格式优化示例代码支持将文件夹重置为初始内容优化APK 文件签名信息提升检测效率优化APK 文件类型信息及媒体文件类型信息优化对话框显示效率及信息展示逻辑优化Gradle 构建脚本提升版本自适应能力discussion #369优化部分依赖或本地库版本调整CHANGELOG.md
如需对 AutoJs6 开源项目进行调试或开发, 可使用 Android Studio (Google 公司产品) 或 IntelliJ IDEA (Jetbrains 公司产品).
本小节以 Android Studio 为例介绍 AutoJs6 开源项目的编译构建方法, IntelliJ IDEA 与之类似.
下载 Android Studio Panda 2 | 2025.3.2 版本 (按需选择其一):
- android-studio-panda2-windows.exe (1.28 GiB)
- android-studio-panda2-windows.zip (1.29 GiB)
- android-studio-panda2-linux.tar.gz (1.32 GiB)
注: 上述版本发布时间为 2026 年 3 月 3 日. 如需下载其他版本, 或上述链接已失效, 可访问 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 年 3 月 14 日, AutoJs6 可支持 JDK 最高版本为 25.
注: 如果计算机系统已安装 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 项目开发的贡献人员.
| 贡献人员 | 提交数 | 最近提交 |
|---|---|---|
| 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 年 3 月 4 日. |
数据条目按 最近提交 降序排序.
新发起的暂未处理的 Pull Request, 将在合并处理后加入数据统计.
部分贡献人员在 GitHub Contributors 未能正常出现, 其提交记录为空, 仍可通过 Pull Request 查看贡献记录.
