我是风筝,公众号「古时的风筝」,一个不只有技术的技术公众号,一个在程序圈混迹多年,主业 Java,另外 Python、React 也玩儿的 6 的斜杠开发者。

Spring Cloud 系列文章已经完成,可以到 我的github 上查看系列完整内容。也可以在公众号内回复「pdf」获取我精心制作的 pdf 版完整教程。

一个神奇的 APP

这个软件叫做 Auto.js,只支持安卓,是一个不需要 Root 权限的 JavaScript 自动化软件。什么意思呢,就是在你的安卓手机上安装这个 APP,然后通过编写 JS 脚本的方式实现自动化操作。类似的也有其他的一些软件,比如苹果自带的快捷操作,可以通过自定义配置完成一系列的流程,但是由于其目标是所有人都可以使用,所以定制的时候就没有那么灵活。

而 Auto.js 通过写代码的方式定制,那不用多说,灵活性肯定是没的说,关键的是,竟然写 JS 就可以,不用懂 Java,也不用懂 kotlin,是不是有点儿优秀呢。

有人说了,这有什么用呢,一般人看到还真觉得用处不大,但是,我们先来看看通过 AutoJS 能实现什么功能吧,只有你想不到的,没有做不到的,随便举几个例子:

  1. 基本操作,比如安装、卸载 、启动、停止APP,切换网络模式、自动打开网址等;
  2. 微信轰炸机,也就是自动不断的给某个人发消息;
  3. 自动收取蚂蚁森林能量;
  4. 百度贴吧签到;
  5. 王者荣耀刷金币;
  6. 抖音、快手自动养号;

是不是操作逐渐具有迷惑性、邪恶感,有一些人可以用它来赚钱,那就是搞手机群控的,当然中间少不了黑灰产,以至于作者都已经在应用商店将 APP 下架。

当然,违法犯罪的事儿是绝对不能干的,我们就是学习学习,做点提高学习、工作效率的事儿而已。

来做一个练练手

现在抖音这么火,几乎人人都想在抖音上火一把,有的专业做短视频的团队或个人会同时运营好多个抖音号,而抖音的一些策略导致在开了新号之后必须要有个养号的过程,也就是模拟正常人刷抖音的方式,告诉抖音后台这是个正常的账号。

下面我们就来用 VSCode 写个自动刷抖音的脚本,来完整看一下如何使用 VSCode 配合手机完成自动刷抖音的自动化操作。

此自动化流程包括:

  1. 自动打开抖音 APP;
  2. 随机观看 20 秒以内;
  3. 随机打开观看 15秒以上的评论区,然后随机查看3页以内的评论;
  4. 关闭评论,继续随机等待3秒以内;
  5. 自动观看下一个视频;

下面是演示 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 实现自己的安卓手机自动化工具脚本的更多相关文章

  1. 安卓手机ADB驱动干什么的?

    Adb驱动是什么意思? /div> Adb是英文Android Debug Bridge的英文缩写,是debug工具,如果不是写IT的可能也很难理解debug的意思.说的直白一点就是Adb就是手 ...

  2. 使用Scrcpy实现电脑控制安卓手机

    很多时候我们想要在电脑上使用一些手机软件,使用模拟器当然是一种选择,但是这些模拟器要不然不免费,要不然广告多不放心.Scrcpy是一个开源免费的软件,通过abd命令实现了安卓手机投屏和控制功能,并且支 ...

  3. 部分安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法

    前端JS中使用XMLHttpRequest 2上传图片到服务器,PC端和大部分手机上都正常,但在少部分安卓手机上上传失败,服务器上查看图片,显示字节数为0.下面是上传图片的核心代码: HTML < ...

  4. H5音乐自动播放ios//禁止安卓手机图片点击

    定义音乐按钮 <div id="music-btn" class="o-play" style="width: 24px; height: 24 ...

  5. 安卓手机牛逼软件Termux中安装Archlinux,安装Jdk

    说出来你可能不信,手机上居然装了两个linux系统,和真实的linux有些许些差别. 首先安装了Termux以后你发现,好多linux常用功能都有,什么Pyhton,gcc,g++,ruby,Php, ...

  6. 安卓手机 HTML5 手机页面 输入表单被键盘遮挡住了

    TML5 手机页面 输入表单被键盘遮挡住了 请问 大神 怎么 js 或者 JQ 判断安卓手机软键盘的键盘隐藏键按下去了? 有使用 uexWindow 方法 能判断到确定键 是 13 但是不知道这个键的 ...

  7. 安卓手机APP压力monkey测试

    一.Monkey概述 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行 ...

  8. PowerShell脚本自动设置安卓手机wifi代理

    在实际测试工作中,经常要将安卓手机通过wifi代理的形式连接到本机的fiddler或charles服务器代理进行抓包测试.最近一直在想,有没有什么方法可以自动设置安卓手机的wifi代理,曾经想通过修改 ...

  9. HTML 判断手机的类型(苹果手机安卓手机)

    function isJudege_PlatForm() { var version = navigator.appVersion; var platName = navigator.userAgen ...

随机推荐

  1. stand up meeting 11/17/2015

    今日工作总结: 冯晓云:代表组内参加了北航软工M1检查,有幸在工作展开之前先观摩别人的工作,吸取经验和教训:现在看来,当时对往届ASE学员的采访还不够深入,只说统筹分工团结合作还是有些空,具体的任务划 ...

  2. A - Engines Atcoder 4900

    题目大意:n个点,任意几个点组合后得到的点距离原点的最远距离. 题解:极角排序:https://blog.csdn.net/qq_39942341/article/details/79840394 利 ...

  3. vue项目中使用bpmn-节点篇

    前情提要 根据之前的操作,我们可以创建.导入.导出流程图,并对其进预览.通过此篇可以学到: 为节点添加点击.鼠标悬浮等事件 获取流程图内所有指定类型的节点 通过外部更新节点名字 获取节点实例的两种方法 ...

  4. 深入理解Java线程状态转移

    目录 前言 状态转移图 1.0 新建态到就绪态 1.1 就绪态到运行态 1.2 运行态到就绪态 1.2.1 时间片用完 1.2.2 t1.yield() .Thread.yield(); 1.3 运行 ...

  5. Linux学习笔记(二)文件操作命令

    文件操作命令 touch stat cat more less head tail ln touch 英文原意: change file timestamps 功能: 修改文件的时间戳 语法: tou ...

  6. MYSQL和SQL Server 的区别

    注意MYSQL使用注释 -- 时 要后面加上空格 使用 #不用 一.数据类型 MYSQL:支持enum和set类型 ;SQL SERVER:不支持 MYSQL:不支持nchar,nvarchar,nt ...

  7. 设计模式 - 模板方法模式详解及其在Spring中的应用

    基本介绍 模板方法模式(Template Method Pattern)也叫模板模式,它在一个抽象类中公开定义了执行它的方法的模板,它的字类可以按需重写方法实现,但调用将以抽象类中定义的方式进行. 简 ...

  8. kioptrix靶机记录

    靶机地址:172.16.1.193 Kali地址:172.16.1.107 首页为Apache测试页,没看到有价值信息 尝试目录扫描: 点击查看: http://172.16.1.193/index. ...

  9. [HarekazeCTF2019] web

    在 buuoj 上看到的这个比赛题目,期间平台关了,就拿了 Dockerfile 本地做了,web 题目感觉还不错 encode_and_encode [100] 打开靶机,前两个页面都是 html ...

  10. python第三方库安装与卸载

    一.检查python环境是否正常 python安装完毕并设置环境变量后,可在cmd中运行python查看,显示版本等信息  二.查看已经安装的第三方库 通过pip list可查看已安装的库,以及对应的 ...