Autojs模块和示例代码教程

本教程对Autojs的”自动操作”类模块(控件操作、触摸模拟、按键模拟等)和其他类模块(设备、应用、界面等)进行了详细的讲解并通过示例代码的讲解增加对模块的理解。

本教程可作为工具类教程使用,就是用到哪一部分就学习哪一部分,不必逐课学习。

课程目录

控件操作

  1. 讲解基于控件的操作入门知识
  2. 基于控件的操作:控件选择器
  3. 基于控件的操作:查找控件
  4. 基于控件的操作:控件对象的操作方法
  5. 基于控件的操作:控件集合的操作方法
  6. 基于控件的操作:Rect对象的属性和操作方法
  7. 实战案例:朋友圈点赞自动化脚本
  8. 实战案例:视频号点赞自动化脚本
  9. 实战案例:取消关注公众号自动化脚本
  10. 实战案例:朋友圈动态删除自动化脚本

图色操作

  1. 颜色的表示方法
  2. 颜色的转换方法
  3. 判断颜色是否相似或相等
  4. autojs内置颜色
  5. 图片回收机制(防内存泄露)
  6. 读取图片
  7. Image对象
  8. 图片对象的保存方法
  9. 图片的编码转换(base64和bytes)
  10. 封装获取屏幕小图的函数
  11. 图片处理的函数(非专业可以略过)
  12. 请求截图权限
  13. 截屏功能
  14. 获取图片某点的颜色
  15. 在图片中寻找颜色及Point对象讲解
  16. 区域找色的简便方法
  17. 在图片中寻找完全相等的颜色点
  18. 多点找色
  19. 图片中某个位置是否是特定颜色
  20. 全屏找图
  21. 区域找图
  22. 批量找图
  23. MatchingResult对象的使用方法(一)
  24. MatchingResult对象的使用方法(二)

示例代码:

  1. 图片与图色处理:获取网络图片并保存
  2. 图片与图色处理:截图并保存
  3. 图片与图色处理:精确找色
  4. 图片与图色处理:模糊找色
  5. 图片与图色处理:区域找色1
  6. 图片与图色处理:区域找色2
  7. 图片与图色处理:实时显示触摸点颜色
  8. 图片与图色处理:图片处理
  9. 图片与图色处理:颜色获取和检测
  10. 图片与图色处理:找到QQ红点位置
  11. 图片与图色处理:找图

应用 – APP

启动应用,卸载应用,使用应用查看、编辑文件、访问网页,发送应用间广播等

  1. 关于APP版本的命令
  2. 打开APP
  3. 查看和编辑文件
  4. APP的安装和卸载
  5. 不同的跳转方式
  6. 自动发送邮件

示例代码:

  1. 应用:打开应用
  2. 应用:发送意图-文本消息分享
  3. 应用:强制停止应用
  4. 应用:卸载应用
  5. 应用:应用工具

悬浮窗 – Floaty

用于显示自定义的悬浮窗

  1. 创建和关闭悬浮窗
  2. FloatyWindow对象
  3. FloatyRawWindow对象

示例代码:

  1. 悬浮窗:动态悬浮文字
  2. 悬浮窗:护眼模式
  3. 悬浮窗:悬浮窗输入框
  4. 悬浮窗:悬浮窗运行脚本按钮简单版
  5. 悬浮窗:悬浮文字
  6. 悬浮窗:悬浮运行脚本按钮

脚本引擎 – Engines

用于启动其他脚本。

  1. 在脚本引擎中运行脚本
  2. 在脚本引擎中运行js文件
  3. 在脚本引擎中运行录制的脚本文件
  4. 脚本引擎控制方法
  5. 脚本执行对象
  6. 脚本引擎对象
  7. 脚本引擎之间的通信
  8. 脚本引擎配置

示例代码:

  1. 脚本引擎:停止所有正在运行的脚本
  2. 脚本引擎:运行脚本文件
  3. 脚本引擎:运行录制文件
  4. 脚本引擎:运行新的脚本任务

用户界面 – UI

一个完整的脚本除了需要实用的功能还需要漂亮的UI界面,让用户跟脚本之间有更好的交互,提升脚本使用体验。

  1. ui界面的基本认识和学习方法
  2. 视图: View的属性和方法
  3. 文本控件: text
  4. 按钮控件: button
  5. 输入框控件: input
  6. 图片控件: img
  7. 用户界面UI案例–表格控件
  8. 用户界面UI案例–复选框单选框控件
  9. 用户界面UI案例–进度条控件
  10. 用户界面UI案例–卡片布局
  11. 用户界面UI案例–列表控件
  12. 用户界面UI案例–时间日期选择控件
  13. 用户界面UI案例–下拉菜单

示例代码:

  1. 界面控件:按钮控件
  2. 界面控件:表格控件(一)
  3. 界面控件:表格控件(二)
  4. 界面控件:表格控件(三)
  5. 界面控件:表格控件(四)
  6. 界面控件:复选框单选框控件
  7. 界面控件:进度条控件(一)
  8. 界面控件:进度条控件(二)
  9. 界面控件:卡片布局
  10. 界面控件:列表控件(一)
  11. 界面控件:列表控件(二)
  12. 界面控件:列表控件(三)
  13. 界面控件:时间日期选择控件
  14. 界面控件:输入框控件
  15. 界面控件:图片控件(一)
  16. 界面控件:文本控件
  17. 界面控件:下拉菜单
  18. 界面控件:自定义控件—布局模板
  19. 界面控件:自定义控件—带颜色按钮
  20. 界面控件:自定义控件—配置勾选框
  21. 界面控件:自定义控件—模块

一般全局函数 – Globals

非常常用,而且很重要的几个函数

  1. 常用的全局函数
  2. 返回当前监测包名和Activity
  3. 等待包名和Activity的出现
  4. 剪切板:实现复制粘贴功能
  5. 获取随机数
  6. 适配安卓版本和Autojs版本

控制台 – Console

记录运行的日志、错误、信息等

  1. 控制台的常用命令
  2. 控制台输出信息的几种方式
  3. 控制台信息的输出样式
  4. 控制台计时操作
  5. 控制台输入框(无效)
  6. 控制台的大小和位置设置

示例代码:

  1. 控制台:保存日志
  2. 控制台:产生随机数
  3. 控制台:调整控制台大小位置
  4. 控制台:格式化输出
  5. 控制台:控制台示例
  6. 控制台:终端模拟器

坐标操作

介绍了一些使用坐标进行点击、滑动的函数

  1. 设置屏幕的宽度和高度
  2. 免root手机的三种模拟点击方式
  3. 免root手机的三种模拟滑动方式
  4. 使用root权限模拟点击
  5. 使用root权限模拟滑动(无效果)
  6. 使用root权限实现模拟拖动
  7. 使用root权限点击和滑动的简单命令

示例代码:

  1. 安卓7.0+点按和手势

设备 – Device

获取设备屏幕宽高、系统版本等信息,控制设备音量、亮度等。

  1. 获取设备信息
  2. 获取并改变设备亮度
  3. 获取并改变设备音量
  4. 获取并改变设备屏幕状态
  5. 设置设备震动状态

示例代码:

  1. 传感器
  2. 设备与设备信息:调整设备亮度
  3. 设备与设备信息:调整设备音量
  4. 设备与设备信息:获取设备信息

对话框 – Dialogs

对话框 – Dialogs

  1. 对话框中的回调和Promise
  2. 对话框:alert和confirm
  3. 对话框:rawInput和input
  4. 对话框:选项列表
  5. 对话框:单选和多选
  6. 对话框:自定义对话框
  7. 对话框事件:显示和消失事件
  8. 对话框事件:按钮事件
  9. 对话框事件:单选多选事件
  10. 对话框事件:输入事件
  11. 对话框对象方法

示例代码:

  1. 对话框的简单案例
  2. 对话框:简单计算器
  3. 对话框:模拟更新下载对话框(一)
  4. 对话框:模拟更新下载对话框(二)
  5. 对话框:模拟更新下载对话框(三)
  6. 对话框:UI模式下使用对话框

事件与监听 – Events

按键监听,通知监听,触摸监听等。

  1. 什么是事件与监听
  2. 监听按键事件
  3. KeyEvent对象方法
  4. 事件:key、key_down、key_up
  5. 单次监听按键事件
  6. 删除按键事件的监听
  7. 屏蔽原有按键功能
  8. 屏幕触摸事件监听(需要root权限)
  9. 通知事件监听:QQ消息、微信消息、推送等通知
  10. Notification对象
  11. toast事件监听
  12. EventEmitter对象
  13. EventEmitter对象:设置监听器数量
  14. EventEmitter对象:添加监听事件
  15. EventEmitter对象:调用监听事件
  16. EventEmitter对象:获取监听事件
  17. EventEmitter对象:添加监听事件到开头
  18. EventEmitter对象:删除事件监听
  19. 脚本间广播通信
  20. 获取window窗口信息
  21. Autojs 8.0Pro版本:监听无障碍事件的API
  22. 监听无障碍事件的API:控件被点击
  23. 监听无障碍事件的API:控件被选中
  24. 监听无障碍事件的API:控件成为焦点
  25. 监听无障碍事件的API:控件文本改变
  26. 监听无障碍事件的API:控件被滑动
  27. 监听无障碍事件的API:窗口变化
  28. 监听无障碍事件的API:通知状态变化

示例代码:

  1. 事件与按键、触摸监听:按键监听
  2. 事件与按键、触摸监听:触摸监听
  3. 事件与按键、触摸监听:通知监听
  4. 事件与按键、触摸监听:音量键控制脚本
  5. 事件与按键、触摸监听:长按返回退出当前程序
  6. 事件与按键、触摸监听:Toast监听

文件系统 – Files

文件创建、获取信息、读写。

  1. 了解文件路径
  2. 判断文件或者文件夹命令
  3. 操作文件文件夹命令
  4. 遍历文件
  5. 读取文件
  6. 写入文件
  7. 打开文件获取文件对象
  8. ReadableTextFile可读文件对象
  9. 【文件系统】PWritableTextFile可写文件对
  10. 【文件系统】可写文件对象:追加文本到文件末尾

示例代码:

  1. 文件读写:读取文本文件
  2. 文件读写:读写文本文件
  3. 文件读写:删除所有空文件夹
  4. 文件读写:文件编码转换
  5. 文件读写:文件编码转换(高级)
  6. 文件读写:写入文本文件

协议 – Http

发送HTTP请求,例如GET, POST等。

  1. http.get请求详解
  2. http.post请求详解
  3. http.postJson请求详解
  4. http.postMultipart请求详解
  5. Response对象详解

按键模拟 – Keys

比如音量键、Home键模拟等。

  1. 免root环境下的按键功能
  2. root环境下的按键功能

多媒体 – Media

media模块提供多媒体编程的支持

  1. 扫描媒体文件
  2. 音乐播放及控制

模块 – module

Auto.js 有一个简单的模块加载系统

  1. 使用模块构建脚本项目
  2. 模块文件如何相互引用

本地储存 – Storages

storages模块提供了保存简单数据、用户配置等的支持

  1. 创建和删除本地储存数据
  2. 本地储存中的数据操作

示例代码:

  1. 本地存储:保存整数等简单数据
  2. 本地存储:保存数组和复杂对象
  3. 本地存储:随手记

多线程 – Threads

threads模块提供了多线程支持,可以启动新线程来运行脚本。

  1. 什么是多线程
  2. 启动多线程
  3. 在UI中使用多线程
  4. 获取线程对象Thread
  5. 线程控制

示例代码:

  1. 多线程:变量可见性实验
  2. 多线程:多线程按键监听
  3. 多线程:启动与关闭
  4. 多线程:简单示例

定时器 – Timers

实现定时运行脚本

  1. 单线程的定时器
  2. 设置定时器
  3. 取消定时器
搜索