|
很多安卓工具很多都是autojs和按键精灵等这些非常易于开发的工具来做自动化工具。
auto.js是基于安卓手机开发的一款JavaScript自动化应用,操作方便简单、容易上手、不需要root权限,功能强大。
是由国内的一名开发者开发的。官方网址:hyb1996.github.io/AutoJs-Docs…
在手机上,可以实现自动点击、滑动、输入文字、打开应用等等。
比如我喜欢在支付宝中的蚂蚁森林里收集好友的能量,每天重复一样的操作很费时间精力。于是我就可以编写一个javascript脚本,运行在auto.js软件中。它就可以代替我自动在设定的时间里打开支付宝,去收集好友的能量,完全自动化完成一套收集能量的操作。
因为它可以执行功能强大的javaScript语法脚本,所以它被使用者用来用在各种场景 如:自动化测试、自动打卡签到、自动领取QQ微信红包、自动抢购秒杀商品、自动看新闻领金币、自动加好友等等。
autojs的版本还是分得比较多,现在常用版本分为:autojs4.1、 autojs pro7、autojs pro 8、autoxjs(此帖子也是围绕这个版本来的)但是本身autojs的作者已经不更新了,并且这个开源项目也已经删除,原因是这款工具被太多的黑灰产利用了。还有一些其他的版本,但是主流还是上面那4个版本用的比较多,其中pro7和pro8都是收费版但是现在都被破解了。现在还在更新和维护的是autoxjs。
这个软件本身的界面是由Java和Android XML编写的。这个软件提供了一个可以编写界面的js环境。是利用了AccessibilityService的API
辅助功能(AccessibilityService)是Android系统提供的一种服务,本身继承Service类。这个服务提供了增强的用户界面,旨在帮助残障人士或者可能暂时无法与设备充分交互的人们。AccessibilityService 拿到UI信息后,根据信息判断与处理,这个判断和处理是 AccessibilityService模拟点击服务的开发者实现的。AccessibilityService中把对UI的处理封装之后,回调给AMS,AMS再回调给APP进程,在APP进程中根据处理信息对UI做响应操作(点击)。
核心就是两点:
1.是感知界面的变化;
2.是模拟点击
基本函数
1、click(x,y);
点击功能。然后把其中x换成你要点的坐标的横坐标,y换成你要点的坐标的纵坐标即可。
2、sleep();
能让脚本运行到这一步时,暂停一段时间,再继续运行下去。t改成需要暂停运行的毫秒数,1秒=1000毫秒 。可用sleep(10*60*1000);意思是暂停十分钟。
3、press(x,y,t);
长按操作,x和y分别为点击的坐标,t为点击时长。例如press(200,200,2000);意思为点击(200,200)位置2秒。
4、swipe(x1,y1,x2,y2,t);
意思为从(x1,y1)滑动到(x2,y2),滑动时间为t。
按键精灵的底层原理
主要使用了Instrumentation类,这个类是google底层提供的一个自动化测试类,通常情况下只能测试与自己包名相同的应用,但是!如果具有root权限,或者是系统签名的包,就可以对全部App生效!
参考:
https://bbs.kanxue.com/thread-280373.htm
https://blog.csdn.net/Hao_ge_666/article/details/112765887
https://juejin.cn/post/7109434056575549477 作者:想要一块农院 来源:稀土掘金
[url=https://gitee.com/ran_yong/auto.js[/url]]AutoJS学习笔记
https://juejin.cn/s/autojs%E5%8E%9F%E7%90%86
https://www.jinnrry.com/2019/05/15/ReverseEngineering/
基于AutoJs7实现的薅羊毛App专业版源码大分享
|
|