【Autojs教程】02-Autojs PC端开发调试环境搭建


工具须知

Autojs支持在PC端进行开发并调试,其中使用到的开发工具为Visual Studio Code(以下简称为VSCode),这是一个微软发行的针对于编写现代 Web 和云应用的跨平台源代码编辑器,这款编辑器功能强大,可以通过各种插件让你快速完成开发工作,而我们也是通过插件的形式来完成!VSCode安装这里就不赘述了,傻瓜无脑式安装即可,下载地址:https://code.visualstudio.com/Download,多平台均可安装,大家根据自己的需要自行安装即可 PS:笔者电脑为win10 64位系统,VSCode版本号为1.51.1。

使用到的插件

Auto.js-VSCodeExt

桌面编辑器Visual Studio Code的插件。可以让Visual Studio Code支持Auto.js开发。在VS Code中菜单"查看"->"扩展"->输入"Auto.js"或"hyb1996"搜索,即可看到"Auto.js-VSCodeExt"插件,安装即可。插件的更新也可以在这里更新。

简单使用方法:

Step 1 按 Ctrl+Shift+P 或点击"查看"->"命令面板"可调出命令面板,输入 Auto.js 可以看到几个命令,移动光标到命令Auto.js: Start Server,按回车键执行该命令。

此时VS Code会在右上角显示"Auto.js server running",即开启服务成功。

Step 2 将手机连接到电脑启用的Wifi或者同一局域网中。通过命令行ipconfig(或者其他操作系统的相同功能命令)查看电脑的IP地址。在Auto.js的侧拉菜单中启用调试服务,并输入IP地址,等待连接成功。

Step 3 之后就可以在电脑上编辑JavaScript文件并通过命令Run或者按键F5在手机上运行了。

命令详情

命令

含义解释

Start Server

启动插件服务。之后在确保手机和电脑在同一区域网的情况下,在Auto.js的侧拉菜单中使用连接电脑功能连接。

Stop Server

停止插件服务。Run 运行当前编辑器的脚本。如果有多个设备连接,则在所有设备运行。

Rerun

停止当前文件对应的脚本并重新运行。如果有多个设备连接,则在所有设备重新运行。

Stop

停止当前文件对应的脚本。如果有多个设备连接,则在所有设备停止。

StopAll

停止所有正在运行的脚本。如果有多个设备连接,则在所有设备运行所有脚本。

Save

保存当前文件到手机的脚本默认目录(文件名会加上前缀remote)。如果有多个设备连接,则在所有设备保存。

RunOnDevice

弹出设备菜单并在指定设备运行脚本。

SaveToDevice

弹出设备菜单并在指定设备保存脚本。

New Project(新建项目)

选择一个空文件夹(或者在文件管理器中新建一个空文件夹),将会自动创建一个项目

Run Project(运行项目)

运行一个项目,需要Auto.js 4.0.4Alpha5以上支持

Save Project(保存项目)

保存一个项目,需要Auto.js 4.0.4Alpha5以上支持

Auto.js-VSCodeExt-Fixed

插件背景

此插件基于Auto.Js作者开发的免费版Auto.Js对应的VsCode开发插件,进行优化二次开发。原插件代码于V0.2.1版本已没有更新,由于开发过程出现不够好用的情况,所以进行优化二次开发,二次开发从V0.3.0开始。

桌面编辑器Visual Studio Code的插件。可以让Visual Studio Code支持Auto.js开发。

用途

该插件笔者主要用途是手机端输出信息能直接在PC端显示用,其余功能略显鸡肋

插件安装方法

首先PC端需要联网(插件需要从云端下载),具体安装过程看下图

autojs的textMatches函数_autojs遍历当前页面所有控件

开发调试

编写代码

今天的代码是一个在手机屏幕上实现模拟手指画圆的代码(相对完美的圆),有兴趣的同学可以提前学习

/** * 今天用一个在手机屏幕上实现模拟手指画圆为例 * 下面的例子中使用了Autojs UI界面,多线程技术 * 以及画圆的算法,通过gesture函数实现 * 有兴趣的同学可以提前学习 */"ui";ui.layout(    <vertical  bg="#ffffff">        <button text='开始画图' id='start'>button>        <button w="*" h="*" bg="#ffffff">button>    vertical>); /* 开始执行 */ui.start.on("click", function () {    //程序开始运行之前判断无障碍服务    if (auto.service == null) {        toast("请先开启无障碍服务!");        return;    }    // 这里写脚本的主逻辑,开启一个线程    // 注意:UI线程中不能从操作业务,需单独开启线程执行    threads.start(function () {        log("开始画圆");        paintCircle();        log("画圆结束");    }); }); function paintCircle() {    let heart = {        x: device.width / 2,        y: device.height / 2    };    let  r = device.width / 3;    let angle=0;    let arr = [];    for (let i = angle; i > -2 * Math.PI + angle; i -= 0.001) {        let tempAng = i;        let tempx = Math.ceil(heart.x + r * Math.cos(tempAng))        let tempy = Math.ceil(heart.y - r * Math.sin(tempAng))        arr.push([tempx, tempy])    }    let str = "gesture(10000";    for (let i = 0; i < arr.length; i++) {        str += ',[' + arr[i][0] + ',' + arr[i][1] + ']'    }    str += ')';    eval(str);}

手机设置

由于不同手机打开下列设置方式不尽相同,请大家自行百度,笔者这里用的是小米MIUI12系统,这里的设置主要是为了让脚本效果显示出来

autojs的textMatches函数_autojs命令代码大全_02

  • 打开开发者人员选项
  • 开启点按操作反馈和指针位置

PC端打开Autojs服务并连接手机端

1、键盘同时按下CTRL+ALT+P,在弹出输入框中输入Autojs,选择Start Server

autojs的textMatches函数_autojs遍历当前页面所有控件_03

2、获取电脑的IP,笔者这里IP是192.168.1.102(这个待会要输入到手机上,保证手机和电脑处于同一局域网下)

3、手机连接PC端服务,具体操作见下图,电脑端也会有提示连接成功

autojs的textMatches函数_autojs命令代码大全_04

autojs的textMatches函数_Math_05

运行程序

废话不多说,直接上图,请各位童鞋仔细看控制台输出哦,log的信息都在这里

autojs的textMatches函数_Math_06