- A+
Auto.js是一个主要由无障碍服务实现的不需要Root权限的类似按键精灵的自动操作软件,可以实现自动点击、滑动、输入文字、打开应用等。目前小编用的支付宝蚂蚁森林偷能量就是基于 Auto.js 实现的。
非商业性使用 — 不得将此项目及其衍生的项目的源代码和二进制产品用于任何商业和盈利用途。
Autojs是什么,能做什么?
Auto.js是一个使用JavaScript编写Android自动化脚本的应用程序。它能够帮助用户自动执行一些常规的、重复的任务,例如点击屏幕、滑动屏幕、输入文本等等。
Auto.js的主要特点有:
它提供了一个丰富的API库,这些API可以让开发者轻松地控制手机的各种功能,包括但不限于触摸事件、应用管理、文件系统操作、网络访问、设备信息获取等。
它支持基于图像识别的UI自动化。开发者可以利用图像识别的功能来编写更为复杂的自动化脚本。
它还内置了一个代码编辑器,支持语法高亮和代码补全,使得在手机上编写和调试代码变得更加方便。
对于新手来说,Auto.js也非常友好。它提供了大量的示例代码和详细的文档,帮助新手快速上手。
需要注意的是,虽然Auto.js可以用来编写各种强大的自动化脚本,但同时也可能会带来一些安全风险。因此,在使用Auto.js时,用户需要确保他们的脚本不会对自己的设备或他人的设备造成任何损害。
定义:一种不需要Root权限的JavaScript自动化脚本
在Android系统中,Root权限指的是用户对其设备的完全控制权限。这种权限通常被用来安装一些非官方的应用程序,修改系统设置,或者进行其他一些默认情况下无法进行的操作。
然而,获取Root权限通常需要对设备进行破解,这不仅可能导致设备的保修失效,还可能带来一些安全风险。
Auto.js则不需要Root权限就能运行。它可以通过模拟人类的触摸和滑动操作,以及发送键盘输入,来实现对Android设备的自动化控制。这意味着你可以使用Auto.js编写脚本来自动执行各种任务,比如打开应用程序,点击屏幕上的按钮,输入文本等等。
尽管没有Root权限,Auto.js依然提供了许多强大的功能。例如,它提供了一个API库,使得开发者可以直接通过JavaScript代码来控制设备的各种功能。此外,它还支持图像识别,使得开发者可以编写更为复杂的自动化脚本。
原理:基于无障碍服务接口(Accessibility Service)
在Android系统中,无障碍服务(Accessibility Service)是一种特殊的系统服务,主要用于帮助有视力或听力等障碍的人使用手机。例如,它可以读取屏幕上的内容,并将这些内容以语音的形式播报出来。
然而,无障碍服务的功能并不仅限于此。由于它能够访问到手机上几乎所有的信息,并且能够模拟人类的操作,因此也可以被用来实现各种自动化的功能。
Auto.js就是利用了这个特性。它通过无障碍服务,能够获取到手机上的各种信息,包括但不限于屏幕上的元素、应用程序的状态等。同时,它也可以通过无障碍服务来模拟人类的触摸和滑动操作,从而实现对手机的自动化控制。
所以说,Auto.js是基于无障碍接口的,主要是指它依赖于Android系统的无障碍服务来实现其自动化的功能。
Auto.js特性
- 简单易用的自动操作函数
- 悬浮窗录制和运行
- 更专业&强大的选择器API,提供对屏幕上的控件的寻找、遍历、获取信息、操作等。类似于Google的UI测试框架UiAutomator,您也可以把他当做移动版UI测试框架使用
- 采用JavaScript为脚本语言,支持简单的代码补全。您也可以把他当作简便的JavaScript IDE使用
- 带有界面分析工具,类似Android Studio的LayoutInspector,可以分析界面层次和范围、获取界面上的控件信息
- 支持使用Root权限以提供更强大的屏幕点击、滑动、录制功能和运行shell命令。录制录制可产生js文件或二进制文件,录制动作的回放比较流畅
- 提供截取屏幕、保存截图、图片找色等函数,可进行简单的游戏脚本制作;未来将加入找图功能
- 方便地文件处理API,以及更多日常工具函数
- 可以用e4x编写简单的界面,并且未来将加入打包为独立应用功能,可用于制作简单的应用
- 可作为Tasker插件使用,结合Tasker可胜任日常工作流
与脚本精灵、按键精灵等软件的区别是:
- Auto.js主要以自动化、工作流为目标,更多地是方便日常生活工作,例如启动游戏时自动屏蔽通知、一键与特定联系人微信视频(知乎上出现过该问题,老人难以进行复杂的操作和子女进行微信视频)等
- Auto.js兼容性更好。以坐标为基础的按键精灵、脚本精灵很容易出现分辨率问题,而以控件为基础的Auto.js则没有这个问题
- Auto.js执行大部分任务不需要root权限。只有需要精确坐标点击、滑动的相关函数才需要root权限
尽管如此,Auto.js的大部分用户仍然是用来点赞、签到、刷游戏的:)