侧边栏壁纸
  • 累计撰写 2,058 篇文章
  • 累计创建 73 个标签
  • 累计收到 20 条评论

目 录CONTENT

文章目录

AutoJS简单介绍和使用

大猿本猿
2023-08-04 / 3,947 阅读 / 1,761 字

Autojs简介

Autojs是什么

AutoJS是一个支持无障碍服务的Android平台上的JavaScript IDE,可以编写各种自动化脚本。

AutoJS但仅限于安卓系统使用,ios系统是无法使用的。

Autojs可以做什么

  • app: 应用。启动应用,卸载应用,使用应用查看、编辑文件、访问网页,发送应用间广播等。
  • console: 控制台。记录运行的日志、错误、信息等。
  • device: 设备。获取设备屏幕宽高、系统版本等信息,控制设备音量、亮度等。
  • engines: 脚本引擎。用于启动其他脚本。
  • events: 事件与监听。按键监听,通知监听,触摸监听等。
  • floaty: 悬浮窗。用于显示自定义的悬浮窗。
  • files: 文件系统。文件创建、获取信息、读写。
  • http: HTTP。发送 HTTP 请求,例如 GET, POST 等。
  • websocket: websocket 客户端、服务器端,可以进行主动推送消息
  • images, colors: 图片和图色处理。截图,剪切图片,找图找色,读取保存图片等。
  • keys: 按键模拟。比如音量键、Home 键模拟等。
  • shell: Shell 命令。
  • threads: 多线程支持。
  • ui: UI 界面。用于显示自定义的 UI 界面,和用户交互。

Autojs应用场景

  • 自动收集蚂蚁森林能量
  • 百度贴吧一键签到
  • 东方头条,趣头条自动刷金币
  • 前段时间双11淘宝的猫猫币
  • 抖音自动加人
  • 自动抢个红包啊,自动识别内容
  • 女朋友微信消息提醒实力脱单

Autojs和按键精灵的区别

  1. Auto.js主要以自动化、工作流为目标,更多地是方便日常生活工作,例如启动游戏时自动屏蔽通知、一键与特定联系人微信视频(知乎上出现过该问题,老人难以进行复杂的操作和子女进行微信视频)等
  2. Auto.js兼容性更好。以坐标为基础的按键精灵、脚本精灵很容易出现分辨率问题,而以控件为基础的Auto.js则没有这个问题
  3. Auto.js执行大部分任务不需要root权限。只有需要精确坐标点击、滑动的相关函数才需要root权限
  4. Auto.js可以提供界面编写等功能,不仅仅是作为一个脚本软件而存在

Autojs快速上手

版本

AutoJS作者关闭了免费版的下载通道,目前仅开放了收费版本的下载,并且限制了一些APP的使用。

比较常用的是老版本:Auto.js 4.1.1 Beta ,github地址:

安装

下载后像普通APP一样正常安装

image

配置

  • 打开无障碍服务权限(因为系统会自动关闭无障碍服务,所以每次打开软件都要进行这步操作)
  • 打开悬浮窗(可选)

image

导入脚本

在软件的主页面,点击右下角的“+”号,会显示如下几个选项。

image

微信脚本导入和运行

对于很多初学的小伙伴,直接编写脚本会稍显困难。我会给大家分享一些现成的脚本,并教给大家使用方法。

  • 方法一:在上一步骤中,选择“导入”,找到需要导入的脚本文件即可
  • 方法二:有时在浏览器中下载,或别人从微信中发送的脚本,找不到具体位置。可以点击脚本文件-->其他方式打开-->导入autojs

运行方式也很简单,点击脚本旁边的小三角即可。

Autojs开发

准备

下载

  • Auto.js 4.1.1 Beta
  • VS CODE
  • 2个插件:Auto.js-VSCodeExt、Auto.js-VSCodeExt-Fixed

其中,Auto.js-VSCodeExt-Fixed 对插件 Auto.js-VSCodeExt 进行了部分优化,更加方便我们调试脚本

然后,使用 VS Code 快捷键「 Ctrl/Command + Shift + P 」,选择「 Auto.js:Start Server 」开启 AutoJS 服务

接着,在真机或模拟器安装 AutoJS 应用及 AutoJS 打包工具应用

PS:如果使用模拟器,推荐使用网易 MuMu 或雷电模拟器

打开 AutoJS 应用,首次进入应用关闭更新提示对话框,并按照指引开启「 无障碍服务 」

image

在软件主界面,点击左上角滑出侧边栏,依次打开无障碍服务、前台服务、悬浮窗

前台服务用于提升服务的存活率,防止服务被回收掉

image

悬浮窗会悬浮在任意界面之上,提供一些快捷功能操作,具体包含:

  • 文件项目列表会展示示例代码及自己编写的脚本、文件夹,可以快速完成脚本编辑、运行、定时任务、打包等操作
  • 脚本录制录制脚本,仅适用于 Root 后的设备,由于它基于坐标点,适配性不强,所以很少使用
  • 元素控件定位针对当前界面进行布局控件分析、布局层次分析
  • 关闭正在执行的脚本一键停止所有正在执行的脚本任务
  • 更多设置可以快速进入到「无障碍服务」页面、查看当前应用包名及 Activity 名称等

最后,选中软件侧边栏中的「 连接电脑 」这一项,在对话框中输入 PC 的 ip 地址

PS:AutoJS 连接电脑时如果没有报错,VS Code 通知栏和 OUTPUT 会展示设备连接成功的消息

image

Autojs实战

这里以自动刷抖音短视频为例

首先,使用「 auto.waitFor() 」确保无障碍服务开启成功

然后,使用 launchApp + 应用名称,快速启动抖音 App

接着使用界面元素内容 + waitFor() 方法等待元素出现,代表界面加载完成

最后,使用 Root + Swipe + 坐标点模拟界面滑动

PS:这里为了方便,直接使用 Root 设备的 API 方法,如果是非 Root 设备,可以采用官方提供的滑动 API 或控件中心坐标点击事件来实现

auto.waitFor()
//打开抖音App
var appName = "抖音";
(appName);
//等待进入主界面成功
text("首页").waitFor();
toast("准备开始滑动")
//滑动(Root+坐标点)
while (true) {
Swipe(200, 1000, 210, 400, 500);
//休息5s钟
sleep(5000);
toast("继续滑动。。。")
}

注意事项

防止判定脚本作弊

写时间或者循环的时候弄成随机数 要不然系统就会判断你是脚本

AutoJS简单介绍和使用