快速构建AutoJS⾃动化脚本项⽬的模板框架分享
⽬前已实现的功能如下:
图形化配置
多脚本执⾏调度,防⽌多个不同脚本抢占前台 RunningQueueDispatcher
封装了⽀持多脚本锁的 LockableStorage,阻塞写⼊并返回写⼊成功与否,达到锁互斥的⽬的
封装了基于⽂本、ID控件正则查⼯具 WidgetUtils,⽀持控件等待,批量获取匹配控件等等
⽇志⼯具 LogUtils,可以保存⽇志到⽂件,⽀持⽇志级别 error\warn\info\log\debug,不同级别⽇志控制台中不同颜⾊显⽰,且开启⽇志⽂件后写⼊到不同的⽂件中。
⽇志⽀持同步写⼊⽂件和异步写⼊⽂件两种⽅式,写这个仅仅是想要实现双缓冲异步写⼊这么个东西
异步⽅式的⽇志⽂件不是⽴马刷新到⽂件的,在脚本完全执⾏完毕之后才会完全写⼊
因此如果需要性能则选择启⽤异步⽅式,否则使⽤同步就⾏。
⽀持 github release api 的脚本⼿动更新功能
⽀持⾃动判断Root和⽆障碍的⾃动化执⾏操作 Automator
封装了⼀个⽂本悬浮窗⼯具 FloatyUtil
⽀持⾃动解锁设备,也⽀持扩展⾃定义解锁
⽀持模拟⼿势⾃动锁定屏幕,同时⽀持扩展⾃定义锁屏代码
⽀持⽀付宝⼿势解锁
⽀持通过代码添加定时任务 Timers 来⾃作者
⽀持⾃动点击授权截图权限 TryRequestScreenCapture 来⾃作者
⽀持配置信息导⼊和导出以及配置信息加密
⽀持通过ADB授权之后⾃动开启⽆障碍功能,具体如何使⽤ADB请⾃⾏Google或Baidu。不同的软件请⾃⾏替换包名: Pro版为 org.autojs.autojspro 可以通过 PackageName() 获取
adb shell pm grant org.autojs.autojs android.permission.WRITE_SECURE_SETTINGS
封装了常⽤⽅法 CommonFunction 如保存运⾏时数据,倒计时延迟等等
lib/autojs-tools.dex 中封装了更新⽤的⼀些Java⽅法,⽤于优化脚本执⾏性能,源码见
执⾏ unit/获取当前页⾯的布局信息.js 可以查看当前页⾯中的控件⽂本以及id信息 ⽅便开发脚本
具体使⽤详见各个js⽂件中的说明信息
如果你在脚本编写过程中遇到困难,可以加⼊Auto.js徒弟QQ: ⼀起交流。
开发说明
1. 下载本仓库
1. 修改config.js中的 CONFIG_STORAGE_NAME 和 PROJECT_NAME
// 不同项⽬需要设置不同的storageName,不然会导致配置信息混乱
let CONFIG_STORAGE_NAME = 'autoscript_version'
let PROJECT_NAME = 'AutoJS 脚⼿架'
1. 开发⼀个主业务逻辑代码,替换 main.js 中的 mainLoop() ⽅法 ⽐如创建 core/MainRunner.js 内容参考如下
function MainRunner() {
< = function () {
// 执⾏主要业务逻辑
}
}
再在 main.js 中调⽤:
let mainExecutor = require('./core/MainExecutor.js')
//....main.js 中的共有代码可以酌情修改或者直接不动也可以
// 开发模式不包裹异常捕捉,⽅便查看错误信息
if (config.develop_mode) {
<()
} else {
try {
<()
} catch (e) {
commonFunctions.setUpAutoStart(1)
errorInfo('执⾏异常, 1分钟后重新开始' + e)
commonFunctions.printExceptionStack(e)
}
}
//....
js脚本编程入门
1. 将修改完成后的代码带⽂件夹全部放到⼿机根⽬录/脚本/下 如 /脚本/AutoScriptBase/
1. 打开AutoJS软件,下拉刷新就能看到AutoScriptBase,点击进⼊然后运⾏ main.js 即可
5.1 脚本执⾏依赖于⽆障碍服务,请在⾃动弹出界⾯中打开AutoJS的⽆障碍权限,或者直接通过ADB赋权让脚本⾃动获取⽆障碍
权限
5.2 另外其他需要的应⽤权限有 后台弹出界⾯ 显⽰悬浮窗 修改系统配置(可选) 等
开发辅助
在线取⾊⼯具:
在线多点取⾊路径⽣成:
解锁功能扩展辅助:unit/获取锁屏界⾯控件信息.js
图⽚实时⼆值化等 test/visual_test/可视化测试⼯具.js ⽬前只有⼀个功能,按运⾏后的提⽰来操作就⾏
可视化配置⼯具,基于webvie和vue框架实现,H5内容在vue_configs下,新增配置项可以只修
改vue_configs/js/commponets/configuration.js 和 config.js 两个⽂件,其他作为公⽤的可以不关注。如果会vue那么可以随你所想进⾏修改
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论