/AutoJs6

JavaScript automated tool for android (安卓平台 JavaScript 自动化工具)

Primary LanguageJavaMozilla Public License 2.0MPL-2.0

AF_Banner

Android 平台支持无障碍服务的 JavaScript 自动化工具

GitHub release (latest by date) GitHub closed issues CodeFactor Grade LGTM Grade
Rhino Android Studio
Created GitHub Code Size GitHub License


简介


指南



功能


  • 可用作 JavaScript IDE (代码补全/变量重命名/代码格式化)
  • 支持基于 无障碍服务 的自动化操作
  • 支持悬浮窗快捷操作 (脚本录制及运行/查看包名及活动/布局分析)
  • 支持选择器 API 并提供控件遍历/获取信息/控件操作 (类似 UiAutomator)
  • 支持布局界面分析 (类似 Android Studio 的 LayoutInspector)
  • 支持录制功能及录制回放
  • 支持屏幕截图/保存截图/图片找色/图片匹配
  • 支持 E4X (ECMAScript for XML) 编写界面
  • 支持将脚本文件或项目打包为 APK 文件
  • 支持利用 Root 权限扩展功能 (屏幕点击/滑动/录制/Shell)
  • 支持作为 Tasker 插件使用
  • 支持与 VSCode 连接并进行桌面开发 (需要 AutoJs6-VSCode-Extension 插件)

主要变更



版本历史


v6.1.1

2022/05/31
  • 新增 检查更新/下载更新/更新提示功能 (参阅 设置页面) (暂不支持安卓 7.x 系统)
  • 修复 应用在安卓 10 系统无法读写外部存储的问题 issue #17
  • 修复 编辑器页面长按时可能导致应用崩溃的问题 issue #18
  • 修复 编辑器页面长按菜单 "删除行" 和 "复制行" 功能无效的问题
  • 修复 编辑器页面选项菜单中 "粘贴" 功能缺失的问题
  • 优化 部分异常消息字符串资源化 (en / zh)
  • 优化 调整内容未保存对话框的按钮布局并增加颜色区分
  • 优化 部分依赖或本地库版本调整 CHANGELOG.md

v6.1.0

2022/05/26 - 包名变更 谨慎升级
  • 提示 修改应用包名为 org.autojs.autojs6 避免与开源 Auto.js 应用包名冲突
  • 新增 首页抽屉增加 "投影媒体权限" 开关 (Root / ADB 方式) (开关状态检测为实验性)
  • 新增 文件浏览器支持显示隐藏文件和文件夹 (参阅 设置页面)
  • 新增 强制 Root 检查功能 (参阅 设置页面 及 示例代码)
  • 新增 内置 autojs 模块 (参阅 示例代码 > AutoJs6)
  • 新增 内置 tasks 模块 (参阅 示例代码 > 任务)
  • 新增 console.launch() 方法启动日志活动页面
  • 新增 util.morseCode 工具 (参阅 示例代码 > 工具 > 摩斯电码)
  • 新增 util.versionCodes 工具 (参阅 示例代码 > 工具 > 安卓版本信息查询)
  • 新增 util.getClass() 等方法 (参阅 示例代码 > 工具 > 获取类与类名)
  • 新增 timers.setIntervalExt() 方法 (参阅 示例代码 > 定时器 > 条件周期执行)
  • 新增 colors.toInt() / rgba() 等方法 (参阅 示例代码 > 图像与颜色 > 基本颜色转换)
  • 新增 automator.isServiceEnabled() / ensureService() 方法
  • 新增 automator.lockScreen() 等方法 (参阅 示例代码 > 无障碍服务 > 安卓 9 新增)
  • 新增 automator.headsethook() 等方法 (参阅 示例代码 > 无障碍服务 > 安卓 11 新增)
  • 新增 automator.captureScreen() 方法 (参阅 示例代码 > 无障碍服务 > 获取屏幕截图)
  • 新增 dialogs.build() 选项参数属性 animation, linkify 等 (参阅 示例代码 > 对话框 > 个性化对话框)
  • 修复 dialogs.build() 选项参数属性 inputHint, itemsSelectedIndex 等功能异常
  • 修复 JsDialog#on('multi_choice') 回调参数功能异常
  • 修复 UiObject#parent().indexInParent() 总是返回 -1 的问题 issue #16
  • 修复 Promise.resolve() 返回的 Thenable 在临近脚本结束时可能不被调用的问题
  • 修复 包名或类名中可能的拼写失误 (boardcast -> broadcast / auojs -> autojs)
  • 修复 images.requestScreenCapture() 在高版本安卓系统可能导致应用崩溃的问题 (API >= 31)
  • 修复 images.requestScreenCapture() 多个脚本实例同时申请可能导致应用崩溃的问题
  • 修复 调用 new RootAutomator() 可能出现的假死问题
  • 优化 RootAutomator 在无 Root 权限时将无法实例化
  • 优化 重新设计 "关于应用与开发者" 页面
  • 优化 重构全部内置 JavaScript 模块
  • 优化 重构全部 Gradle 构建脚本并增加公共配置脚本 (config.gradle)
  • 优化 Gradle 构建工具支持版本号自动管理及构建文件自动命名
  • 优化 Gradle 构建工具增加 task 支持附加 CRC32 摘要到构建文件 (appendDigestToReleasedFiles)
  • 优化 shell() 调用时将异常写入返回结果而非直接将异常抛出 (无需 try/catch)
  • 优化 使用 Rhino 内置的 JSON 替代原 json2 模块
  • 优化 auto.waitFor() 支持超时参数
  • 优化 threads.start() 支持箭头函数参数
  • 优化 console.trace() 支持按日志等级参数 (参阅 示例代码 > 控制台 > 打印调用栈)
  • 优化 device.vibrate() 支持模式震动及摩斯电码震动 (参阅 示例代码 > 设备 > 模式震动 / 摩斯电码震动)
  • 优化 外部存储读写权限适配高版本安卓系统 (API >= 30)
  • 优化 控制台字体采用 Material Color 增强普通及夜间主题下的字体可读性
  • 优化 保存 ImageWrapper 所有实例弱引用并在脚本结束时自动回收 (实验性)
  • 优化 附加 CircleImageView 版本 3.1.0
  • 优化 升级 Rhino 引擎版本 1.7.14 -> 1.7.15-snapshot
  • 优化 部分依赖或本地库版本调整 CHANGELOG.md

v6.0.3

2022/03/19
  • 新增 多语言切换功能 (尚不完善)
  • 新增 内置 recorder 模块 (参阅 示例代码 > 计时器)
  • 新增 使用 "修改安全设置权限" 自动启用无障碍服务及开关设置
  • 修复 点击 "快速设置" 中相关图标后面板未自动收起的问题 (试修) issue #7
  • 修复 toast 使用强制显示参数时可能导致 AutoJs6 崩溃的问题
  • 修复 Socket 传输数据头部信息不完整时可能导致 AutoJs6 崩溃的问题
  • 优化 启动或重启 AutoJs6 时根据选项设置自动开启无障碍服务
  • 优化 开启悬浮窗显示时尝试自动开启无障碍服务
  • 优化 所有资源文件补全元素对应的英文翻译
  • 优化 微调主页抽屉布局 减小项目排列间距
  • 优化 主页抽屉增加前台服务状态开关的同步
  • 优化 主页抽屉展开时立即按需同步开关状态
  • 优化 显示指针位置增加状态检测及结果提示
  • 优化 支持 64 位操作系统 (Ref to TonyJiangWJ)
  • 优化 悬浮窗初始化时同时应用透明度设置 (无需点击后再应用透明度)
  • 优化 重置文件内容时增加是否为示例代码文件的检测并增加结果提示
  • 优化 转移打包插件下载地址 GitHub -> JsDelivr
  • 优化 附加 Zeugma Solutions LocaleHelper 版本 1.5.1
  • 优化 降级 Android Material 版本 1.6.0-alpha02 -> 1.5.0
  • 优化 部分依赖或本地库版本调整 CHANGELOG.md
更多版本历史可参阅

相关项目