综述
由于原作者不再维护 Auto.js,我计划在原来4.1版本的基础上继续维护项目,并将原项目命名为 AutoX.js。
欢迎更多开发者参与这个项目的维护与升级。
这篇文档里有加密相关的内容可能和实际运行情况有冲突,我会逐步完善更新,程序代码,尽可能保持一致。
AutoX.js 使用 JAVAScript 作为脚本语言,目前使用 Rhino 1.7.13 作为脚本引擎,支持 ES5 与部分 ES6 特性。
- 学习 AutoX.js 的 API 之前,建议先学习 JavaScript 的基本语法。
- 如果想要在电脑上开发 AutoX.js,可以使用 VSCode 以及 AutoX.js 插件。
- 如果想要使用 TypeScript 来开发,目前有开发者公布了一个 相关工具。
AutoX.js 下载地址
在 Github Releases 下载
AutoX.js 的功能
- AutoX.js 项目工程化:结合 webpack vscode 插件,开发、编译、打包、部署、混淆、加密一体化 文档资料
- vscode 插件右键,自动提示操作等 下载地址
- vscode 自动补全、方法注释等 文档资料
- 修复众多 bug,升级到 5.0.1 ,合并打包插件,升级配置文件等功能
- 建设论坛、提供 交流社区
- 建设应用商店
- 提供更好的 SDK 封装
- 支持 WebSocket
模块
本文档的章节大致上是以模块来划分的,总体上可以分成"自动操作"类模块(控件操作、触摸模拟、按键模拟等)和其他类模块(设备、应用、界面等)。
"自动操作"的部分又可以大致分为 基于控件 和 基于坐标 的操作。
基于坐标的操作是通过指定具体的屏幕坐标,进行点击,例如 click(100, 200) 等,这种方式在游戏类脚本中比较有可行性,结合找图找色、坐标放缩功能也能达到较好的兼容性。但是,这种方式对于一般软件脚本不是很高效,而且需要Android/ target=_blank class=infotextkey>安卓 7.0 以上或 root 权限才能执行。
软件类脚本(例如:批量添加联系人、自动提取短信验证码等等)我们推荐采用基于控件的模拟操作,结合通知、按键等达成更好的工作流。
其他模块主要包括:
- App: 应用。启动应用,卸载应用,使用应用查看、编辑文件、访问网页,发送应用间广播等。
- console: 控制台。记录运行的日志、错误、信息等。
- device: 设备。获取设备屏幕宽高、系统版本等信息,控制设备音量、亮度等。
- engines: 脚本引擎。用于启动其他脚本。
- events: 事件与监听。按键监听,通知监听,触摸监听等。
- floaty: 悬浮窗。用于显示自定义的悬浮窗。
- files: 文件系统。文件创建、获取信息、读写。
- http: HTTP。发送 HTTP 请求,例如 GET, POST 等。
- websocket: websocket 客户端、服务器端,可以进行主动推送消息
- images, colors: 图片和图色处理。截图,剪切图片,找图找色,读取保存图片等。
- keys: 按键模拟。比如音量键、Home 键模拟等。
- shell: Shell 命令。
- threads: 多线程支持。
- ui: UI 界面。用于显示自定义的 UI 界面,和用户交互。
除此之外,AutoX.js 内置了对 Promise 的支持。
参与共建
软件源码
文档源码
本文档更新稍有滞后,某些模块文档并没写完,希望有开发者共同参与维护!
不用担心你不懂,我们可以讨论交流!
欢迎大家 PR ,共同参与开源!