视频地址
WEB端地址与APP下载
最新版web端地址:http://121.4.241.250:9998
V1.0.0APP端下载:http://121.4.241.250:5212/s/mZaie
V1.3.0APP端下载:http://121.4.241.250:5212/s/PZRh1
V1.4.0APP端下载:http://121.4.241.250:5212/s/QZ7c1
V1.5.0APP端下载:http://121.4.241.250:5212/s/6o5IW
后续版本已开源,见本地部署&技术支持
本地部署&技术支持
Web端:《华仔AutoJs工具箱_Web端》
Web端Go版(由红尘提供):《华仔AutoJs工具箱_Web端Go版》
App端:《 华仔AutoJs工具箱》
QQ群:818757945
更新日志
V1.0.0
1、工具箱结构图
V1.3.0
1、标准宽度,标准高度,偏移系数,标准坐标转换支持(脚本运行时)。
2、快速裁图模式。
3、多分辨率图色支持。
4、调试模式支持,app实时绘制匹配效果。
5、标准坐标转换显示。
6、生成代码增加以下进阶封装(需要购买本地部署套餐获取utils.js文件才可用于自己项目)。
V1.4.0
1、设备增加访问密码功能(APP端设置,WEB端访问需要填写)
2、屏幕方向旋转监听(APP端选择屏幕,WEB端图片处理自动感应屏幕方向)
3、生成代码增加部分官方API封装
4、生成代码增加部分基础封装(需要购买本地部署套餐获取utils.js文件才可用于自己项目)
5、生成代码增加部分进阶封装(需要购买本地部署套餐获取utils.js文件才可用于自己项目)
6、设备预览增加远程控制功能
V1.5.0
1、预览设备增加操作记录(远程操控发送的指令记录)
2、布局分析-远程布局分析(APP端获取布局json存入本地)
3、布局分析-上传布局分析并解析(布局json、截图上传云端)
4、布局分析-远程限制应用布局分析(APP端单独应用用户获取被限制APP的布局json存入本地)
5、布局分析-解析布局分析、控件绘图(web端读取云端布局json解析节点,并绘制图片)
6、布局分析-控件详情(点击节点显示控件详情)
7、布局分析-生成代码、远程执行(根据条件生成控件操作代码,支持远程执行代码)
V1.6.0
一、布局分析
1、树结构支持左右滚动。
2、绘制节点显示顺序调整,按照节点深度排序,鼠标移入,优先框选深层节点。
3、增加绘制背景图开关,可隐藏背景图只显示节点绘制情况。
4、增加只显示屏幕内节点开关。
5、绘制节点框,增加右键取消勾选当前框选节点。
6、增加布局分析范围,支持选择活跃窗口或全部窗口。
7、增加自定义函数过滤,更为灵活的过滤节点数据。
8、增加常见自定义函数过滤。
二、远程脚本
1、增加一键远程执行功能
2、增加App模块、Device模块、Other模块的内置脚本
三、其他
1、vue组件化拆分,抽离html、css、js文件。
2、按钮风格统一
3、增加消息通知,配置文件配置邮箱接收上线通知。
V1.7.0
一、文件管理功能
1、文件查看功能,可查看图像处理、布局分析、预览设备产生的文件。
2、文件上传功能,可批量上传电脑本地项目的图片等文件到Web端。
3、文件上传功能,支持点击上传选多个文件、本地文件管理器拖拽多个文件到文件管理区域自动上传。
4、新建文件夹功能。
5、文件预览或下载功能,图片、文本、视频可浏览器预览,其他文件直接触发下载。
6、文件重命名功能。
7、单个文件删除功能。
8、单个文件同步到手机,将web端指定文件同步到手机端指定目录。
9、文件批量复制功能,支持文件夹递归复制。
10、文件批量移动功能,支持文件夹递归移动,不可移动到当前目录,不可移动到已选文件的子目录中。
11、文件批量删除功能,支持文件夹递归删除。
12、文件批量同步到手机功能,将web端批量选择的文件同步到手机端指定目录,文件夹暂不支持递归同步,仅会同步空文件夹。
13、按路径同步手机端功能,支持将web端指定路径下的所有文件,同步到手机端指定的路径下,文件夹暂不支持递归同步,仅会同步空文件夹。
14、按路径同步Web端功能,支持将手机端指定路径下的所有文件,同步到Web端指定的路径下,文件夹暂不支持递归同步,仅会同步空文件夹。
15、自动同步web同步路径功能,开启后,点击面包屑导航时,自动同步web端同步路径。
16、文件名双击预览文件。
17、文件夹名双击打开文件夹。
18、面包屑导航点击跳转对应目录。
二、其他优化
1、布局分析多次上传节点,由于缓存一直未更新问题修复,每次上传强制刷新json。
2、图像处理,生成代码修改,提示本地项目引用时,需要引入utils.js后再使用。
V1.8.0
一、页面匹配
1、页面参数设置交互,大卡片嵌套小卡片,小卡片嵌套表格。
2、全部展开,全部收缩功能
3、初始化配置示例功能
4、增加读取草稿功能,根据页面配置名称保存到浏览器本地缓存。
5、增加存为草稿功能,根据页面配置名称从浏览器本地缓存读取。
6、增加存为文件功能,根据页面配置名称保存到附件中。
7、增加读取文件功能,根据页面配置名称从附件中读取文件内容。
8、页面配置整体对象转换json功能,将整个页面配置对象转换为json,可以直接在项目中使用。
9、页面配置json转换页面配置对象,将json字符串转换页面配置对象,可以将项目中的json直接解析,再进行可视化配置。
10、文字识别、多点识色、区域找图支持整表或单行的json读取和生成json功能,可以将项目中的单项配置相互转换,配合图像处理的json读取和转换json,测试更加灵活。
11、远程页面匹配测试,支持设置调试页面,调试图片路径转换,一键远程调试多页面匹配,找图匹配需要配合文件管理的同步功能。
二、图像处理
1、远程图像处理,支持中文图片名称,且兼容历史app版本
2、修复快速裁剪第二次点击坐标异常问题。
3、增加参数转换josn,json转换参数功能,可与页面匹配功能联动。
三、布局分析
1、布局分析,节点点击优化,更改为点击行不展开,点击箭头才展开。
2、布局分析,绘制框高亮节点点击优化,点击后左侧树自动展开当前选中节点。
3、布局分析,绘制框高亮节点点击优化,点击后左侧树自动定位到当前选中节点,未展开的节点,可能需要点击第二次才能正常定位。
四、远程脚本
1、增加存为草稿功能,根据脚本名称保存到浏览器本地缓存。
2、增加读取草稿功能,根据脚本名称从浏览器本地缓存读取。
3、增加存为文件功能,根据脚本名称保存到附件中。
4、增加读取文件功能,根据脚本名称从附件中读取文件内容。
5、增加自定义模块设置,以json文件格式存入到附件中,设置模块名和文件名的映射关系。
6、增加自定义模块加载,加载json文件中映射关系,生成按钮列表。
7、自定义模块远程执行,远程执行映射关系中的文件名对应的脚本内容。
五、其他
1、文件管理,增加取消上传功能。
2、设备列表,增加调试模式、调试延时参数同步功能。
一、背景
从开始接触AutoJs到现在已经过去了一段时间,期间编写了一款图色游戏脚本。众所周知,工欲善其事必先利其器,想要写好图色脚本,就要有一款趁手的图色工具。写过图色脚本的一定都用过综合图色助手,支持雷电模拟器、ADB连接、TCP连接、AJ连接等,功能上也比较全面,所以最开始我也是选择了这个工具。
由于游戏页面比较复杂,所以采用的二值化方案进行简化,去除干扰项,再以此为基础进行识图、识色、识字等操作。基于这种应用场景,综合图色助手就有些不够用了。如果我需要制作一张匹配用的模板图片,需进行以下几步操作。
1、先在手机上截一张全屏的图片,可以用图色助手直接获取到。
2、获取到图片后,在图色助手中获取到裁剪的两个坐标。
3、在AutoJs项目中写裁图的代码,获取裁剪后的图片。
4、二值化处理裁剪后的图片,将其保存到手机文件。
5、查看手机文件,查看二值化后的图片效果是否符合预期,不符合调整参数,重复第4步。
6、将图片发送到电脑,将图片保存至项目中。
7、利用图片进行模板匹配,测试业务代码。
8、测试效果不理想,重复以上步骤。
这还仅仅只是一个业务的一张图片,完成一个具有完整业务的脚本不知道需要多少张图片。ocr识字同样有类似的问题,因为通用需要定位出区域坐标,再进行测试,才可以写进业务代码中。纵使综合图色助手再强大,也无法满足我的需求,适合自己的才是最好的。没有工具,就要自己创造工具。于是,我在脚本云控后台增加了以下功能。
1、全屏截屏功能
2、点选坐标功能
3、阈值化开关以及参数
4、区域坐标截屏功能
5、区域坐标文字识别功能
这样就大大减小了操作复杂程度,变成了以下步骤,节省了查看处理后图片效果,发送图片到电脑的时间。
1、先发送全屏截屏指令,获取全屏图片
2、点选坐标,截取指定区域图片
3、开启阈值化,进行调整参数,直至获得理想效果
4、右键保存图片到项目中,编写测试代码,测试效果
为了方便测试脚本,又增加了远程执行脚本,和远程上传日志功能。无论是开发阶段,还是后续的问题排查,bug修复效率都得到了极大的提升。
二、项目成型
以上的工具其实并不独立,与脚本程序,后台程序紧紧的耦合在一起,用起来还是会有些不方便,为了让更多人可以用到这个工具,所以决定做拆分。单独抽离后台服务程序和前台app应用。于是得到了这些。
操作流程如下
1、要操作的设备安装《华仔AutoJs工具箱》app
2、授予app权限
3、在app界面设置界面输入服务端ip地址(部署后台服务的地址,如果是本机部署则可以打开cmd,输入ipconfig获取)
4、保存配置后启动脚本,打开ws日志,则可在日志中观察到websocket发生心跳,心跳回复等信息,则表示连接成功。
5、浏览器访问服务端ip:9998,点击刷新已连接设备,找到与app上相同的设备信息,点击表格行选中。
6、然后就可以进行对应的操作了。
功能介绍
1、预览设备(实时查看设备的屏幕)
a、参数说明
预览质量:范围1-100,图像质量,数值越大,质量越高(数值过大,可能会加载不及时)
缩放倍数:范围0.1-1,图像缩放倍数,数值越小,图片越模糊
预览高度:浏览器预览画面高度
预览阈值:图片阈值化的参数,0-255
APP刷新:手机端截屏的间隔,单位毫秒,时间越短,上传图片频率越高(数值过低,可能会影响app运行)
浏览器刷新:浏览器刷新图片的间隔,单位毫秒,时间越短,加载图片的频率越高 (数值过低,可能会影响显示)
开启灰度化:实时图像是否进行灰度化处理
开启阈值化:实时图像是否进行阈值化处理
参数变化后自动预览:修改以上所有参数值后,是否自动同步预览效果
b、建议使用场景
需要根据灰度化、阈值化动态查看一段时间的效果,以便于找到合适的参数值
c、不建议的操作
非局域网环境下部署的服务,不建议高预览质量低时间间隔的使用该功能,可能会造成app运行不稳定,画面显示不及时,或者服务器拦截请求
2、图像处理(远程图像处理,需要配合utils.js封装的方法使用,见文末)
a、功能介绍
全屏截图
区域截图
阈值化图像处理
图点选获取坐标和颜色值
文字识别(配合app端选择的文字识别插件 谷歌MLKit的OCR/基于PaddleOCR的TomatoOCR)
坐标的复制以及读取
b、可扩展功能
autoJs快捷找图代码
autoJs快捷找色代码
autoJs快捷拾色代码
3、远程脚本执行(远程脚本执行,可直接调用util.js中的方法)
4、远程日志(获取app的运行日志,配合远程脚本执行进行代码调试)
三、V1.0.0版本工具获取
1、在线服务端地址:http://106.55.149.12:9998/
2、工具下载地址:http://121.4.241.250:5212/s/mZaie
OCR插件安装包
utils.js封装方法文件
服务端jar包以及配置文件、服务启动相关配置
四、部署介绍
后台服务依赖环境:java8+redis
1、安装jdk1.8环境 配置环境变量
2、安装redis环境 默认6379端口
3、application.properties配置文件修改,修改文件上传目录
4、cmd命令行启动服务 java -jar zxw-aj-tools.jar
5、访问http://ip:9998 即可
6、进阶部署,配置以服务方式启动程序
五、utils.js封装介绍
1、ocr初始化
2、ocr灰度化阈值化识别文字结果
3、ocr灰度化阈值化根据文字找坐标
4、灰度化阈值化区域找图
5、灰度化阈值化多点找色
6、其他进阶封装、基础封装 如模板匹配、特征匹配、下载文件、上传文件等
818757945
V1.3.0
图色处理更强劲,全分辨率兼容
V1.4.0
增强了用户体验,增加一些快速生成代码(进阶、基础、官方)功能
支持了设备远程控制
支持了密码访问