用JavaScript编写不需要Root权限的android自动化软件
针对网上的多个版本区别做说明
- autojs 是一个开源的自动化程序,之后因为被某些资本警告,导致该工具无法对某些应用进行操作
- autojs pro 原作者在autojs上提供了一个付费的工具,拥有更强大的功能,同样无法操作某些软件
- autox.js 网友维护的版本,可操作所有软件,并拥有大量autojs pro的功能
AutoX.js
本文章只讲环境搭建及注意问题,语法和api请参考官网或文末的Demo。
下载 autojsx.js 手机端APP
国内快速下载 AutoX.js5.7.9android安装包-Android文档类资源-CSDN下载
最新版 https://github.com/kkevsekk1/AutoX/releases
电脑下载vscode并安装插件 Auto.js-VSCodeExt
shift + ctrl + p 搜素 auto.js ,启动服务
打开悬浮窗并连接电脑
手机上随便打开一个app分析它的结构
vscode新建一个js 文件编写代码尝试运行
- // 购物车按钮的id
- const carId = id('com.yaya.zone:id/rl_car_layout');
-
- // 控制台与手机弹窗输出 toastLog autox.js 全局函数,请查看官方文档
- //控件是否存在
- toastLog('控件是否存在:'+carId.exists())
-
- //搜索到唯一元素并点击
- carId.findOnce().click()
- vscode -> 帮助 -> 切换开发人员工具,方便查看日志
- 键盘F5启动
开发干货
MT 管理器下载
https://download.csdn.net/download/SUNbrightness/85162159
使用如下代码可以直接跳转到APP内的某个页面
- //这样启动没有广告,有点android开发经验,贼爽
- app.startActivity({
- action: "android.intent.action.VIEW",
- className: "com.yaya.zone.home.HomeActivity",
- packageName: "com.yaya.zone",
- });
className 与 packageName查看方法:MT管理器 -> 左上角菜单->Activity记录
使用autox.js 打包成app,打包的软件报毒
这个问题是因为打包后的app用了 autojs 作为包名,需要用MT管理器把apk 的xml中的autojs字符串换成任意其他值就可以了。
这个多亏了这篇文章:autojs打包的软件报毒 - 知乎
我开发的autojs脚本
叮咚买菜抢菜
autojs: autojs脚本分享