Autojs - 用 JavaScript 实现自己的安卓手机自动化工具脚本
我是风筝,公众号「古时的风筝」,一个不只有技术的技术公众号,一个在程序圈混迹多年,主业 Java,另外 Python、React 也玩儿的 6 的斜杠开发者。
Spring Cloud 系列文章已经完成,可以到 我的github 上查看系列完整内容。也可以在公众号内回复「pdf」获取我精心制作的 pdf 版完整教程。
一个神奇的 APP
这个软件叫做 Auto.js,只支持安卓,是一个不需要 Root 权限的 JavaScript 自动化软件。什么意思呢,就是在你的安卓手机上安装这个 APP,然后通过编写 JS 脚本的方式实现自动化操作。类似的也有其他的一些软件,比如苹果自带的快捷操作,可以通过自定义配置完成一系列的流程,但是由于其目标是所有人都可以使用,所以定制的时候就没有那么灵活。
而 Auto.js 通过写代码的方式定制,那不用多说,灵活性肯定是没的说,关键的是,竟然写 JS 就可以,不用懂 Java,也不用懂 kotlin,是不是有点儿优秀呢。
有人说了,这有什么用呢,一般人看到还真觉得用处不大,但是,我们先来看看通过 AutoJS 能实现什么功能吧,只有你想不到的,没有做不到的,随便举几个例子:
- 基本操作,比如安装、卸载 、启动、停止APP,切换网络模式、自动打开网址等;
- 微信轰炸机,也就是自动不断的给某个人发消息;
- 自动收取蚂蚁森林能量;
- 百度贴吧签到;
- 王者荣耀刷金币;
- 抖音、快手自动养号;
是不是操作逐渐具有迷惑性、邪恶感,有一些人可以用它来赚钱,那就是搞手机群控的,当然中间少不了黑灰产,以至于作者都已经在应用商店将 APP 下架。
当然,违法犯罪的事儿是绝对不能干的,我们就是学习学习,做点提高学习、工作效率的事儿而已。
来做一个练练手
现在抖音这么火,几乎人人都想在抖音上火一把,有的专业做短视频的团队或个人会同时运营好多个抖音号,而抖音的一些策略导致在开了新号之后必须要有个养号的过程,也就是模拟正常人刷抖音的方式,告诉抖音后台这是个正常的账号。
下面我们就来用 VSCode 写个自动刷抖音的脚本,来完整看一下如何使用 VSCode 配合手机完成自动刷抖音的自动化操作。
此自动化流程包括:
- 自动打开抖音 APP;
- 随机观看 20 秒以内;
- 随机打开观看 15秒以上的评论区,然后随机查看3页以内的评论;
- 关闭评论,继续随机等待3秒以内;
- 自动观看下一个视频;
下面是演示 gif,gif 质量太差,可以点击查看视频演示
安装 APK
首先下载 Auto.js APK 安装包,由于已经在应用商店下架,需要的同学可以扫码文章末尾的二维码关注我的公众号,在公众号内回复 「autojs」获取安装包和自动刷抖音脚本。
打开已安装好扩展插件的 VSCode
开发者的目的是为了让大家可以在手机上就能通过编写 JS 的方式实现自动化操作,比如下面这个是 APP 内置的手机编辑器界面。
但是,在手机上写代码岂是程序员所为,有点束手束脚的感觉,还是得上电脑,没错,还得电脑。当然也可以,作者为我们提供了 VSCode 插件。
打开 VSCode,通过菜单"查看"->"扩展"->输入"Auto.js"或"hyb1996"搜索,然后安装即可。
点击可以查看插件的官方介绍
新建一个项目
通过菜单“查看”->“命令面板”->"Auto.js: New Project "新建一个项目,项目包括一个 main.js 和一个project.json 文件,main.js 就是写主要逻辑的文件,project.json 是项目的一些配置信息,这和其他前端项目类似。
编写自动化逻辑
根据你的需要在 main.js 中编写 js 代码,作者已经提供了各种包装好的 API,你可以到官方网站上去查看,官方地址 https://hyb1996.github.io/AutoJs-Docs/#/,例如打开抖音,只需要以下一行代码:
launchApp("抖音短视频");
我写的这个例子主要用到了基于坐标的操作,其实就是模拟做一些点击、上划等的手势操作,可以说没有任何难度,当然,离不开作者完美的 API 保证。
在 VSCode 中启动服务
通过菜单“查看”->“命令面板”->"Auto.js: Start Server "来启动项目,启动成功后,会在右下角显示“Auto.js server running”,只有启动了电脑端的服务,才能进行下面的连接操作。
在 Auto.js APP 中连接电脑
如果你做过安卓开发,那应该很清楚真机调试,要么用数据线,要么保证电脑和手机在同一局域网之下,Auto.js 也一样的,其实就是真机调试。
打开 Auto.js APP,点击右上角菜单按钮,在划出的左侧抽屉框中打开连接电脑。
然后在弹出的输入框中输入电脑的 IP ,点击确定即可。
打开 Auto.js 的无障碍模式
Auto.js 的实现就是依靠的无障碍模式,但是这个模式需要对应用单独打开。仍然在 APP 的左侧抽屉框中打开。
然后会自动跳到手机自身设置中的无障碍模式界面,在下方找到 Auto.js 这个应用,然后打开即可。
就算这里你暂时没有打开,等到之后调试的时候会自动提示你要打开无障碍模式的。
保存项目到手机
当你写完脚本之后,可以通过菜单“查看”->“命令面板”->"Auto.js: Save Project "来保存修改到你的手机上,之后,你就可以在 Auto.js 中看到你做的修改。
调试,查看效果
当你写好了一部分代码后,肯定要看一下效果,也很简单,通过菜单“查看”->“命令面板”->"Auto.js: Run On Device "来运行,当然,前提是你已经安装上面的步骤操作过,并且 Auto.js 处于活动状态。
之后,会在菜单下方显示你已连接到此电脑的设备,我这儿只有一台,所以只显示一个,如果你同时调试多台的话,这里应该显示多个。
当你点击这个设备后,就会在你的手机上执行你编写的逻辑,就像我前面的那个演示效果一样。
如何确定坐标
大部分的操作其实都是对坐标的模拟手势操作,虽然 Auto.js 也支持更复杂的控件操作,甚至能直接连接 Java。
那么如何能确定你要操作的坐标位置呢,比如我这个例子中,评论图标的位置,上划刷新下一个视频时的起止坐标,总不能截个图然后再量吧,那肯定姿势有问题。
首先你要打开手机的开发者模式,一般的手机都是找到设置->关于本机->版本号,然后在版本号上连续点击几次打开开发者模式。
打开之后,在开发者模式中有个指针位置的开关。
然后会在手机屏幕上方显示横纵坐标,手机型号不同,显示位置和效果也有可能不一样。
最好不要有强迫症,不然这么凌乱的画面接受不了,还好我没有,这个指针位置我可以一直开着没什么影响(摊手)。
最后
好用归好用,但是不要用到违法乱纪的地方,一旦用技术作起恶来是很可怕的。
要拿去学习学习的同学可以扫码文章末尾的二维码关注我的公众号,在公众号内回复 「autojs」获取安装包和自动刷抖音脚本。
感觉有意思的话,给个赞吧,总是被白嫖,身体吃不消!
我是风筝,公众号「古时的风筝」,一个在程序圈混迹多年,主业 Java,另外 Python、React 也玩儿的很 6 的斜杠开发者。可以在公众号中加我好友,进群里小伙伴交流学习,好多大厂的同学也在群内呦。
技术交流还可以加群或者直接加我微信。
Autojs - 用 JavaScript 实现自己的安卓手机自动化工具脚本的更多相关文章
- 安卓手机ADB驱动干什么的?
Adb驱动是什么意思? /div> Adb是英文Android Debug Bridge的英文缩写,是debug工具,如果不是写IT的可能也很难理解debug的意思.说的直白一点就是Adb就是手 ...
- 使用Scrcpy实现电脑控制安卓手机
很多时候我们想要在电脑上使用一些手机软件,使用模拟器当然是一种选择,但是这些模拟器要不然不免费,要不然广告多不放心.Scrcpy是一个开源免费的软件,通过abd命令实现了安卓手机投屏和控制功能,并且支 ...
- 部分安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
前端JS中使用XMLHttpRequest 2上传图片到服务器,PC端和大部分手机上都正常,但在少部分安卓手机上上传失败,服务器上查看图片,显示字节数为0.下面是上传图片的核心代码: HTML < ...
- H5音乐自动播放ios//禁止安卓手机图片点击
定义音乐按钮 <div id="music-btn" class="o-play" style="width: 24px; height: 24 ...
- 安卓手机牛逼软件Termux中安装Archlinux,安装Jdk
说出来你可能不信,手机上居然装了两个linux系统,和真实的linux有些许些差别. 首先安装了Termux以后你发现,好多linux常用功能都有,什么Pyhton,gcc,g++,ruby,Php, ...
- 安卓手机 HTML5 手机页面 输入表单被键盘遮挡住了
TML5 手机页面 输入表单被键盘遮挡住了 请问 大神 怎么 js 或者 JQ 判断安卓手机软键盘的键盘隐藏键按下去了? 有使用 uexWindow 方法 能判断到确定键 是 13 但是不知道这个键的 ...
- 安卓手机APP压力monkey测试
一.Monkey概述 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行 ...
- PowerShell脚本自动设置安卓手机wifi代理
在实际测试工作中,经常要将安卓手机通过wifi代理的形式连接到本机的fiddler或charles服务器代理进行抓包测试.最近一直在想,有没有什么方法可以自动设置安卓手机的wifi代理,曾经想通过修改 ...
- HTML 判断手机的类型(苹果手机安卓手机)
function isJudege_PlatForm() { var version = navigator.appVersion; var platName = navigator.userAgen ...
随机推荐
- JavaScript思维导图很全(W3C上的!!!!很重要快来看!)
- Numpy学习-(1)
记录我学习Numpy过程 1. 介绍 (1)NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库 ...
- JS-Array-新增方法
1. filter( ) var arr = [5,4,3,2,1]; newarr = arr.filter((item)=>{ return item<3 }) ; // => ...
- [转载]绕过CDN查找真实IP方法总结
前言 类似备忘录形式记录一下,这里结合了几篇绕过CDN寻找真实IP的文章,总结一下绕过CDN查找真实的IP的方法 介绍 CDN的全称是Content Delivery Network,即内容分发网络. ...
- 泛微ecology OA系统在数据库配置信息泄露
漏洞描述 攻击者可通过该漏洞页面直接获取到数据库配置信息,攻击者可通过访问存在漏洞的页面并解密从而获取数据库配置信息,如攻击者可直接访问数据库,则可直接获取用户数据,由于泛微e-cology默认数据库 ...
- Python自然语言处理实战核心技术与算法,Python自然语言处理,PyTorch深度学习实战【下载】
本人买的,无私贡献给大家,无解压密码 下载地址: 链接:https://pan.baidu.com/s/1cJtnhEQSXHVMgygr8PHh9A 提取码:a54u
- solr管理集合
其实完全版的管理,在web页面上就有. 同时,在官网文档上,也有:https://lucene.apache.org/solr/guide/6_6/coreadmin-api.html#CoreAdm ...
- Python操作三大主流数据库
Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ...
- System.Timers.Timer
前言 System.Timers.Timer组件是基于服务器的计时器,它能够指定在应用程序中引发Elapsed事件周期性间隔,以处理相应事件. 使用示例: 运行结果展示: System.Timers. ...
- docker 搭建一个wordpress 博客系统(4)
安装lnmp ()下载镜像 [root@server ~]# docker pull mysql:latest #下载mysql镜像 [root@server ~]# docker pull rich ...