一个支持无障碍服务的Android平台上的JavaScript IDE
Go to file
2025-07-02 16:31:23 +08:00
apkbuilder 更新opencv到4.8.0,增加onnxruntime用于推理onnx模型 2023-08-24 23:57:42 +08:00
app 更新部分依赖版本,增加蓝牙相关权限声明 2025-06-24 22:42:04 +08:00
autojs RootShell依赖问题,改为本地引入 2025-06-30 10:06:58 +08:00
autojs-aar RootShell依赖问题,改为本地引入 2025-06-30 10:06:58 +08:00
automator 优化布局分析功能,可以通过悬浮菜单排除部分干扰控件 2024-09-14 12:50:02 +08:00
common 修复一些已知问题;增加无障碍截图API; 2023-01-03 20:56:23 +08:00
coolapk/release 补充OpenCV 3.4.9的JNI Lib; 增加配置,使得开发包和发布包自动设置包名以便同时安装 2020-01-10 19:24:03 +08:00
gradle/wrapper 更新gradle和依赖库版本 2022-01-12 14:01:38 +08:00
inrt 修复inrt/build.gradle 2023-08-25 00:05:35 +08:00
js-supports RootShell依赖问题,改为本地引入 2025-06-30 10:06:58 +08:00
screen-captures update readme 2017-10-25 22:46:14 +08:00
.gitignore 尝试在jni中捕获异常 2023-11-27 11:08:26 +08:00
.gitmodules add: submodule docs 2017-09-11 13:43:48 +08:00
build.gradle 更新部分依赖版本,增加蓝牙相关权限声明 2025-06-24 22:42:04 +08:00
gradle.properties 修复悬浮窗中无法正确获取包名的问题 2023-08-13 19:43:51 +08:00
gradlew 完整修改报名为autojsm 2019-12-23 17:23:30 +08:00
gradlew.bat initial commit 2017-01-27 09:05:38 +08:00
LICENSE.md add: supports for daily task and disposable task 2017-11-28 20:59:29 +08:00
project-versions.json 更新版本号 2025-07-02 16:31:08 +08:00
README.md 增加ncnn推理引擎,yolov8模型推理速度可以达到50ms左右,理论上进一步优化可以更快。目前存在问题是无法和Paddle-Lite兼容 2024-09-14 12:50:01 +08:00
settings.gradle RootShell依赖问题,改为本地引入 2025-06-30 10:06:58 +08:00

Auto.js

简介

一个支持无障碍服务的Android平台上的JavaScript IDE其发展目标是~JsBox和Workflow~ 但是因为灰产原因原作者 @hyb1996 已经选择闭源开发 AutoJS Pro。

同时有VS Code 插件可提供基础的在桌面开发的功能。本修改版能继续使用原作者开发的插件,个人开发脚本的习惯不依赖于插件,所以没有开发新的插件。

历史版本下载和更新日志:Releases

官方文档:https://hyb1996.github.io/AutoJs-Docs/

本项目所做的修改包括但不限于如下内容

  • 修复了大量内存泄露问题持续运行大量脚本后也能保持稳定的较低内存占用率。但是部分情况还是会触发native异常导致闪退能力有限无法修复。
  • 变更默认包名为 org.autojs.autojs.modify 打包为64位和32位修复对Android12的支持目前MIUI13可能存在一些问题。
  • 替换了定时任务的调度代码增加了WorkManager和AlarmManager的选项默认的Android-job已弃用。
  • 修改了截图权限逻辑多个脚本同时运行时可以共享AutoJS的截图权限而且不会互相抢占。
  • 更新opencv版本为4.5.5 支持SIFT找图等特性。
  • 更新了内置rhino版本为1.7.14 支持字符串模板等JS特性。
  • 增加PaddleOCR 封装为 $ocr 具体使用见示例文件 无文档。目前存在低概率的模型初始化失败导致无法进行文字识别的问题,跟踪修复中。
  • 增加了tess-two 使用可以参考 TesserOcrUtil,需要训练好的 traineddata 进行支持。使用比较麻烦 建议直接使用PaddleOCR。
  • 重新整理了部分代码结构更新了gradle到7.x, 更新了其他依赖包版本不详细罗列。
  • 修复了其他的不痛不痒的缺陷。
  • 如果脚本需要防止类似淘宝的无障碍检测,请使用 AutoJs.fakeIdlefish。可以规避无障碍检测,将包名直接改成闲鱼的包名,加了个.x的后缀 com.taobao.idlefish.x。代码分支为 fake_idlefish
  • 完善了一下打包功能增加V2签名避免报毒。打包插件见仓库Auto.js-ApkBuilder
  • 安装包下载路径,蓝奏云:
    https://wwxs.lanzouq.com/b042le51i
    密码:b034
    
  • 对于x86版本请自行打包编译PaddleOCR不支持x86
  • 增加了ncnn推理引擎支持yolov8模型推理8gen2 推理速度大概在50ms。存在问题是无法和Paddle-Lite兼容也就是无法同时使用PaddleOCR和ncnn

不支持的功能包括但不限于

  • 脚本打包功能因为没有开发对应插件,因此无法使用打包功能。#4
  • 内置编辑器为原版。说实在并不好用,后续有想法进行更新替换,但是目前没有着手开发,所以可能存在一些问题并未修复。

声明

  • 如果是别的地方过来的,建议使用他们的版本,而不是使用这个项目,你所使用的脚本可能无法兼容。本项目主要是针对我自己的脚本,如蚂蚁森林和蚂蚁庄园等,所以不太会去适应所有开发者。
  • 第一我不是做安卓开发的所以能力有限,第二是我本人时间也不充裕,所有的优化都是为了能够运行稳定,而不是增加新功能。
  • 如果真拿来开发脚本的话 很多功能都是欠缺的比如编辑器比如脚本打包比如USB连接VS插件等等。
  • 当然反馈的这些问题我也会尝试去修复也欢迎提交PR不过我有代码洁癖请保持commit简洁明晰一个PR一个功能如果不能满足的话建议还是不要提交了免得浪费你我时间。
  • 如果为了更丰富的功能 还是建议使用其他开源版本 比如AutoX。
  • 另外如果引用我这边的代码,请在引用代码的类或者方法名的注释中注明原作者信息以及来源是本项目。

关于编译问题的说明

  • 默认gradle设置了代理请自行修改关闭或者本机开启代理。文件为 gradle.properties编译所需JDK版本需要大于等于JDK11使用Android Studio内置的OpenJDK即可。
  • 代码是没问题的,针对原作者的开源协议代码纯开源的毫无保留。具体编译打包有安卓开发基础就行,毕竟我这个外行也能打包编译。
  • 编译问题其实我真的不想管我自己也不是正经搞安卓的也是一步一步摸索过来的请自行探索或者学一下这些基础知识而不是拿到日志了自己不分析就跟伸手党一样问别人应该怎么做。你我都是陌生人你能不能编译不是我的义务更何况我甚至不知道你是否是拿来开发灰产也就是原作者选择闭源开发新版本AutoJS Pro的原因。
  • 另外置顶ISSUE也说的很明确单纯自用。个人时间有限我不想花时间在这些类似于教学的方面对我来说没有什么益处。

以下为原始特性描述等信息

特性

  1. 由无障碍服务实现的简单易用的自动操作函数
  2. 悬浮窗录制和运行
  3. 更专业&强大的选择器API提供对屏幕上的控件的寻找、遍历、获取信息、操作等。类似于Google的UI测试框架UiAutomator您也可以把他当做移动版UI测试框架使用
  4. 采用JavaScript为脚本语言并支持代码补全、变量重命名、代码格式化、查找替换等功能可以作为一个JavaScript IDE使用
  5. 支持使用e4x编写界面并可以将JavaScript打包为apk文件您可以用它来开发小工具应用
  6. 支持使用Root权限以提供更强大的屏幕点击、滑动、录制功能和运行shell命令。录制录制可产生js文件或二进制文件录制动作的回放比较流畅
  7. 提供截取屏幕、保存截图、图片找色、找图等函数
  8. 可作为Tasker插件使用结合Tasker可胜任日常工作流
  9. 带有界面分析工具类似Android Studio的LayoutInspector可以分析界面层次和范围、获取界面上的控件信息

本软件与按键精灵等软件不同,主要区别是:

  1. Auto.js主要以自动化、工作流为目标更多地是方便日常生活工作例如启动游戏时自动屏蔽通知、一键与特定联系人微信视频知乎上出现过该问题老人难以进行复杂的操作和子女进行微信视频
  2. Auto.js兼容性更好。以坐标为基础的按键精灵、脚本精灵很容易出现分辨率问题而以控件为基础的Auto.js则没有这个问题
  3. Auto.js执行大部分任务不需要root权限。只有需要精确坐标点击、滑动的相关函数才需要root权限
  4. Auto.js可以提供界面编写等功能不仅仅是作为一个脚本软件而存在

信息

  • 官方论坛: autojs.org
  • 文档:可在这里查看在线文档。目前文档仍然不完善。
  • 示例:可在这里查看一些示例,或者直接在应用内查看和运行。

截图

screen-capture2

screen-capture5

screen-capture5

screen-capture5

License

基于Mozilla Public License Version 2.0并附加以下条款:

  • 非商业性使用 — 不得将此项目及其衍生的项目的源代码和二进制产品用于任何商业和盈利用途