- Android 平台支持 无障碍服务 的 JavaScript 自动化工具
- 需要 Android API 24 (7.0) [N] 及以上操作系统
- 克隆 (clone) 自 hyb1996/Auto.js
- 可用作 JavaScript IDE (代码补全/变量重命名/代码格式化)
- 支持基于 无障碍服务 的自动化操作
- 支持浮动按钮快捷操作 (脚本录制及运行/查看包名及活动/布局分析)
- 支持选择器 API 并提供控件遍历/获取信息/控件操作 (类似 UiAutomator)
- 支持布局界面分析 (类似 Android Studio 的 LayoutInspector)
- 支持录制功能及录制回放
- 支持屏幕截图/保存截图/图片找色/图片匹配
- 支持 E4X (ECMAScript for XML) 编写界面
- 支持将脚本文件或项目打包为 APK 文件
- 支持利用 Root 权限扩展功能 (屏幕点击/滑动/录制/Shell)
- 支持作为 Tasker 插件使用
- 支持与 VSCode 连接并进行桌面开发 (需要 AutoJs6-VSCode-Extension 插件)
-
VSCode 插件支持客户端 (LAN) 及服务端 (LAN/ADB) 连接方式
-
多语言适配 (西/法/俄/阿/日/韩/英/简中/繁中等)
-
夜间模式适配 (设置页面/文档页面/布局分析页面/浮动窗口等)
-
Rhino 引擎由 v1.7.7.2 升级至 v1.7.15-SNAPSHOT
新增
crypto 模块 (参阅 项目文档 > 密文)issue #70
新增
UI 模式增加 textswitcher / viewswitcher / viewflipper / numberpicker / video / search 等控件新增
日志活动页面增加复制及导出日志等功能issue #76
新增
客户端模式增加 IP 地址历史记录功能修复
客户端模式自动连接或服务端模式自动开启后可能无法显示 IP 地址信息的问题修复
客户端模式及服务端模式连接后在切换语言或夜间模式时连接断开且无法再次连接的问题修复
客户端模式输入目标地址时无法使用自定义端口的问题修复
客户端模式输入目标地址时某些字符将导致 AutoJs6 崩溃的问题修复
VSCode 插件远程命令可能出现解析失败造成命令无法响应的问题 (试修)修复
Android 7.x 发现新版本时无法获取版本详情的问题修复
images.pixel 无法获取无障碍服务截图的像素色值的问题issue #73
修复
UI 模式 Android 原生控件 (大写字母开头) 无法使用预置控件属性的问题修复
runtime.loadDex/loadJar 加载多个文件时仅第一个文件生效的问题issue #88
修复
部分设备安装应用后启动器仅显示文档图标的问题 (试修)issue #85
优化
适配 VSCode 插件 1.0.5优化
支持 cheerio 模块 (Ref to aiselp)issue #65
优化
JsWebSocket 实例支持使用 rebuild 方法重新重建实例并建立连接issue #69
优化
base64 模块支持 number 数组及 Java 字节数组作为主要参数的编解码优化
增加对 JavaMail for Android 的支持issue #71
优化
获取版本更新信息时使用 Blob 数据类型以增强无代理网络环境适应性优化
客户端模式连接过程中在主页抽屉副标题显示目标 IP 地址优化
客户端模式输入目标地址时支持对不合法的输入进行提示优化
客户端模式支持使用软键盘回车键建立连接优化
服务端模式开启后保持常开状态 (除非手动关闭或应用进程结束)issue #64
优化
实现 AutoJs6 与 VSCode 插件的双向版本检测并提示异常检测结果issue #89
优化
增加短信数据读取权限 (android.permission.READ_SMS) (默认关闭)优化
runtime.loadDex/loadJar/load 支持按目录级别加载或同时加载多个文件优化
部分依赖或本地库版本调整CHANGELOG.md
新增
发布通知权限及主页抽屉开关issue #55
新增
UI 模式支持简单的 Android 布局解析 (参阅 示例代码 > 布局 > 简单安卓布局)新增
UI 模式增加 console / imagebutton / ratingbar / switch / textclock / togglebutton 等控件新增
UI 模式控件的颜色色值支持 OmniColor 类型 (如 color="orange")新增
UI 模式的控件完全支持 attr 方法设置控件属性 (如 ui.text.attr('color', 'blue'))新增
UI 模式控件支持布尔类型属性值的缺省形式 (如 clickable="true" 可简写为 clickable 或 isClickable)新增
button 控件支持 isColored 及 isBorderless 布尔类型属性新增
console.resetGlobalLogConfig 方法用于重置全局日志配置新增
web.newWebSocket 方法用于创建 Web Socket 实例 (参阅 项目文档 > 万维网)修复
文件管理器的文件夹排序异常修复
floaty 模块构建的浮动窗口无法调节样式及位置的问题issue #60
修复
floaty 模块构建的浮动窗口与系统状态栏重叠的问题修复
http.postMultipart 方法功能异常issue #56
修复
Android 7.x 无法运行任何脚本的问题issue #61
修复
sign.property 文件不存在时无法构建项目的问题修复
高版本系统 AutoJs6 置于后台时可能因无前台通知权限而崩溃的问题 (API >= 33)修复
调用 console.show 方法后日志窗口点击 FAB 按钮无法清空日志的问题修复
脚本编辑器调试时出现的 prototype 空指针异常修复
脚本编辑器运行脚本时在缓存文件夹运行临时脚本而非先保存再在原始位置运行以避免可能的脚本内容丢失问题修复
调整布局层次分析的层级色条宽度避免层级过多时控件名称无法显示的问题issue #46
优化
布局分析浮动窗口增加退出按钮以关闭窗口issue #63
优化
脚本绝对路径使用简称形式以缩减文本长度并增加可读性优化
将 Error 替换为 Exception 避免出现异常时 AutoJs6 应用崩溃优化
视图 (View) 绑定方式由 ButterKnife 迁移至 View Bindingissue #48
优化
服务端模式非正常关闭时将于 AutoJs6 启动时自动开启issue #64
优化
客户端模式非正常关闭时将于 AutoJs6 启动时按最近一次的历史地址自动连接优化
部分依赖或本地库版本调整CHANGELOG.md
新增
ocr 模块 (参阅 项目文档 > 光学字符识别)issue #8
新增
notice 模块 (参阅 项目文档 > 消息通知)新增
s13n 模块 (参阅 项目文档 > 标准化)新增
Color 模块 (参阅 项目文档 > 颜色类)新增
前台时保持屏幕常亮功能及设置选项新增
额外的文档启动器 (launcher) 便于独立阅读应用文档 (支持在设置中隐藏或显示)修复
colors.toString 方法功能异常修复
app.openUrl 方法自动添加协议前缀功能异常修复
app.viewFile/editFile 在参数对应文件不存在时的行为异常修复
pickup 方法的回调函数无法被调用的问题修复
布局分析显示的控件信息 bounds 属性值负数符号被替换为逗号的问题修复
bounds/boundsInside/boundsContains 选择器无法正常筛选狭义空矩形 (如边界倒置矩形)issue #49
修复
更换主题或修改语言后点击或长按主页文档标签将导致应用崩溃的问题修复
文本编辑器双指缩放调节字体大小时可能出现抖动的问题修复
构建脚本中部分依赖源无法下载的问题 (已全部整合)issue #40
修复
Tasker 无法添加 AutoJs6 操作插件 (Action Plugin) 的问题 (试修)issue #41
修复
高版本 JDK 编译项目时 ButterKnife 注解无法解析资源 ID 的问题issue #48
修复
无障碍服务较大概率出现服务异常的问题 (试修)修复
images.medianBlur 的 size 参数使用方式与文档不符的问题修复
engines 模块显示脚本全称时文件名与扩展名之间句点符号丢失的问题修复
加权 RGB 距离检测算法内部实现可能存在的计算失误 (试修)修复
console 模块的浮动窗口相关方法无法在 show 方法之前使用的问题修复
console.setSize 等方法可能无法生效的问题issue #50
修复
colors.material 颜色空间的颜色常量赋值错误修复
UI 模式的日期选择控件 minDate 及 maxDate 属性无法正确解析日期格式的问题修复
运行脚本后快速切换到主页 "任务" 标签页面将出现两个相同运行中任务的问题修复
文件管理页面从其他页面返回时页面状态可能被重置的问题issue #52
修复
文件管理页面排序状态与图标显示状态不符的问题优化
文件管理页面增加文件及文件夹修改时间显示优化
文件管理页面排序类型支持状态记忆优化
README.md 添加项目编译构建小节与脚本开发辅助小节issue #33
优化
images 模块相关方法的区域 (region) 选项参数支持更多传入方式 (参阅 项目文档 > 全能类型)优化
app.startActivity 页面简写参数增加 pref/homepage/docs/about 等形式的支持优化
web 模块的全局方法挂载到模块本身以增强可用性 (参阅 项目文档 > 万维网)优化
web.newInjectableWebView 方法内部默认实现部分常用的 WebView 设置选项优化
colors 模块添加多种转换方法及工具方法并添加更多静态常量以及可直接作为参数的颜色名称优化
console 模块添加多种控制台浮动窗口的样式配置方法并支持 build 构建器统一配置窗口样式优化
控制台浮动窗口支持拖动标题区域移动窗口位置优化
控制台浮动窗口支持脚本结束后自动延迟关闭优化
控制台浮动窗口及其 Activity 活动窗口支持双指缩放调整字体大小优化
http 模块相关方法支持超时参数 (timeout)优化
Gradle 构建脚本支持 JDK 版本主动降级 (fallback)优化
Gradle 构建脚本支持根据平台类型及版本自动选择合适的构建工具版本 (程度有限)优化
部分依赖或本地库版本调整CHANGELOG.md
建议始终使用 Android Studio 进行 AutoJs6 调试或开发.
如需使用 IntelliJ IDEA (Jetbrains 公司产品), 需留意以下注意事项:
- IntelliJ IDEA 版本建议不低于
2022.3.3 (Ultimate Edition)
- IntelliJ IDEA 的 Gradle JVM 版本不低于
19
- 回退 Gradle 构建工具版本至 IDEA 支持的版本
- 如
classpath("com.android.tools.build:gradle:7.4.0")
- 具体版本可根据 IDEA 的错误提示获知
- 如
- 回退 Kotlin 脚本 (KTS) 语法
- 如
com.android.build.api.dsl.CommonExtension#options
需回退为packagingOptions
- 如
- ... ...
下载 Android Studio Flamingo | 2022.2.1 Patch 2
版本 (按需选择其一):
- android-studio-2022.2.1.20-windows.exe (1.0 GB)
- android-studio-2022.2.1.20-windows.zip (1.0 GB)
注: 上述版本发布时间为 2023 年 5 月 24 日. 如需下载其他版本, 或上述链接已失效, 可访问 Android Studio 发行版本归档 页面.
安装或解压上述文件, 运行 Android Studio 软件 (如 "D:\android-studio\bin\studio64.exe"
).
注: 如果计算机系统已安装 Android SDK (安卓软件开发工具包), 则可跳过此小节内容.
在 Android Studio 软件中使用快捷键 CTRL + ALT + S
打开设置页面:
Appearance & Behavior (外观与表现) ->
System Settings (系统设置) ->
Android SDK (安卓软件开发工具包)
Android SDK Location (安卓软件开发工具包位置)
处如果是空白内容, 可点击右侧 Edit (编辑)
按钮, 在弹出的窗口中多次点击 Next (下一步)
.
注: 过程中可能需要同意一个或多个相关协议才能继续.
待相关资源下载并安装完毕, 点击 Finish (完成)
按钮.
上述 Android SDK Location (安卓软件开发工具包位置)
处将自动完成路径填写, SDK 准备工作随即完成.
AutoJs6 项目依赖的 JDK (Java 开发工具包)
发行版本不低于 19
.
JDK 可使用 IDE 直接下载, 或访问 Oracle 网站 下载.
注: 如果计算机系统已安装 JDK 且版本不低于 19, 则可跳过此小节内容.
在 Android Studio 软件中使用快捷键 CTRL + ALT + S
打开设置页面:
Build, Execution, Deployment (构建, 执行, 开发) ->
Build Tools (构建工具) ->
Gradle
Gradle JDK
处可选择或添加不同版本的 JDK.
- 列表中存在合适版本的 JDK
- 直接选择即可
- 选择
Download JDK (下载 JDK)
下载新的 JDK- 选择一个版本不低于 19 的 JDK, 点击
Download (下载)
按钮并等待下载完成
- 选择一个版本不低于 19 的 JDK, 点击
- 选择
Add JDK (添加 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 按钮).
构建完成后, Android Studio 的 Build
标签页将出现类似 BUILD SUCCESSFUL in 1h 17m 34s
的消息.
打包项目并生成可安装到安卓设备的 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
开发 AutoJs6 可运行的脚本, 需使用合适的开发工具:
如需在 PC 上进行脚本编写与调试, VSCode 插件可以实现 PC 与手机的互联:
- AutoJs6-VSCode-Extension - AutoJs6 调试器 (VSCode 平台插件)
使用开发工具编写代码时, 代码智能补全功能可以更好地辅助开发者完成代码编写:
- AutoJs6-TypeScript-Declarations - AutoJs6 声明文件 (代码智能补全)
编写代码时, AutoJs6 相关 API 及使用方式, 可随时查阅应用文档:
- AutoJs6-Documentation - AutoJs6 应用文档
- 安卓平台 JavaScript 自动化工具 (Auto.js 二次开发项目)
AutoJs6-Documentation by SuperMonster003
- AutoJs6 应用文档
AutoJs6-VSCode-Extension by SuperMonster003
- AutoJs6 调试器 (VSCode 平台插件)
AutoJs6-TypeScript-Declarations by SuperMonster003
- AutoJs6 声明文件 (代码智能补全)
- 蚂蚁森林能量自动收取脚本 (AutoJs6 示例脚本项目)