【自动化】【autojs】02 autox环境搭建和踩坑

🛫 导读

需求

开发环境

版本号描述
文章日期2022-12-19
AutoX6.3.5
adb33.0.3
Auto.js-Autox.js-VSCodeExtv1.109.0
scrcpywin64-v1.24
小米8

1️⃣ 环境搭建

AutoX

下载地址: http://autoxoss.autoxjs.com/autoxjs/6.3.5/app-v6-universal-release-unsigned-signed.apk
直接拷贝到手机中,安装即可。

adb

下载地址:https://developer.android.google.cn/studio/releases/platform-tools
这里下载的是33.0.3版本。

找一目录,如:D:\_ALL\SOFTWARE\_Android\platform-tools_r33.0.3-windows\platform-tools,将其设置为环境变量Path中,重启VSCode,使Path生效。
在这里插入图片描述

VSCode插件

vscode中搜索Auto.js-Autox.js-VSCodeExt安装即可使用,插件中含有详细使用说明文档。
在这里插入图片描述

scrcpy

sourceforge下载地址(推荐):https://nchc.dl.sourceforge.net/project/scrcpy.mirror/v1.24/scrcpy-win64-v1.24.zip
github地址: https://github.com/Genymobile/scrcpy
github下载地址:https://github.com/Genymobile/scrcpy/releases/download/v1.24/scrcpy-win64-v1.24.zip

文章上面已经将adb配置到了环境变量中了,为了避免多个adb互相杀进程,这里直接将scrcpy中的adb移到别的目录。
在这里插入图片描述

使用方法:

  1. USB连接手机(打开调试模式)
  2. 点击scrcpy.exe即可查看手机内容了。
    在这里插入图片描述

2️⃣ ADB方式实战控制微信启动

到现在我们已经准备了所有的工具,那么现在开始通过脚本来实现控制微信启动
无线方式要求手机网络和电脑在同一个网段,小编在这里选择更通用的ADB方式进行演示。

详细资料参考文档《Auto.js-Autox.js-VSCodeExt使用文档》: https://marketplace.visualstudio.com/items?itemName=aaroncheng.auto-js-vsce-fixed

正确设置autox选项

如下图,确保所有选项已经打开。
在这里插入图片描述

启动服务

在vscode中,按 Ctrl+Shift+P 或点击"查看"->"命令面板"可调出命令面板,输入 Autox.js 可以看到几个命令,移动光标到命令Auto.js Autox,js: Start All Server,按回车键执行该命令。
在这里插入图片描述

当VS Code右下角显示"ADB: Tracking started" ,表示已经连接到手机上了
在这里插入图片描述

如果已经启动过一次,再次执行Auto.js Autox,js: Start All Server命令,将会出现下面内容:

在这里插入图片描述

执行代码

任意创建js文件,编写代码app.launch("com.tencent.mm");,最后点击右上角的运行按钮即可控制手机打开微信了。
在这里插入图片描述

停止代码执行

如果代码中包含死循环,或者想提前结束代码执行。可以打开AutoX软件的管理页面,在运行中的脚本中关闭相关脚本。
在这里插入图片描述

实在关闭不掉,可以进行如下暴力方案:

  • 关闭AutoX软件
  • 关闭VSCode
  • 关闭adb进程

3️⃣ 踩坑

函数id需要传递全名称

正确示例: id("com.tencent.mm:id/ka")
错误示例: id("ka")
一开始一直很疑惑,查了官网文档http://doc.autoxjs.com/#/widgetsBasedAutomation?id=uiselectoridresid也说可以只传递id值。
在这里插入图片描述
目前只能说,遇到类似问题,多使用别的函数使用方法来测试。

app.launch未生效

其实是软件没有权限导致的,给软件autox设置后台弹出界面权限即可,下面以小米8为例。

  1. 打开 设置 > 应用设置
    在这里插入图片描述
  2. 打开应用管理
    在这里插入图片描述
  3. 打开权限
    在这里插入图片描述
  4. 打开应用权限管理
    在这里插入图片描述
  5. 搜索并打开Autox.js v6
    在这里插入图片描述
  6. 设置后台弹出界面权限为允许
    在这里插入图片描述

ui.layout报错

网上找了一份代码,一直报错,如下:


var demo = `
<drawer id="drawer">
  <vertical>
  </vertical>
</drawer>
`

ui.layout(demo)

在教程中查了下,按照文档改了改,居然正常了,(虽然不知道为啥这么写,不太符合js语法吧)。
正确写法:

ui.layout(
	<drawer id="drawer">
	  <vertical>
	  </vertical>
	</drawer>
)

📖 参考资料

**ps:**文章中内容仅用于技术交流,请勿用于违规违法行为。

  • 11
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜猫逐梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值