目录
简介
AutoJs是一款基于JavaScript语法的安卓自动化工具,广泛应用于自动点击、批量操作、自动化测试等场景。本文将通过丰富的代码示例,帮助你快速掌握AutoJs的常用操作。
基础操作
1. 启动应用
// 启动微信
app.launchApp("微信");
// 启动包名
app.launch("com.tencent.mm");
2. 查找控件与点击
// 根据文本查找并点击
var btn = text("登录").findOne(5000);
if (btn) btn.click();
// 根据ID查找并点击
var el = id("btn_login").findOne();
el && el.click();
3. 输入文本
// 输入文本到当前焦点
setText("Hello, AutoJs!");
// 通过控件输入
var input = className("EditText").findOne();
input && input.setText("123456");
4. 截图与图色识别
// 申请截图权限
if (!requestScreenCapture()) exit();
// 截图
var img = captureScreen();
// 找色
var p = findColor(img, "#ff0000");
if (p) click(p.x, p.y);
5. 循环与延时
// 循环点击
for (var i = 0; i < 5; i++) {
click(500, 1000);
sleep(1000); // 延时1秒
}
进阶用法
1. 多线程与定时任务
// 子线程执行任务
threads.start(function(){
toast("子线程运行中");
});
// 定时执行
setInterval(function(){
toast("每5秒执行一次");
}, 5000);
2. 通知与悬浮窗
// 发送通知
device.vibrate(200);
notifications.send("AutoJs通知", "任务已完成");
// 创建悬浮窗
var w = floaty.window(
<button id="btn">点我</button>
);
w.btn.on("click", ()=>toast("你点了按钮"));
3. 文件读写
// 写文件
files.write("/sdcard/test.txt", "Hello, AutoJs!");
// 读文件
var content = files.read("/sdcard/test.txt");
log(content);
实用技巧与常见问题
- 权限问题:部分操作需无障碍、悬浮窗、存储等权限,首次运行需手动授权。
- 调试技巧:多用
log()
、toast()
输出调试信息,便于排查问题。 - 控件找不到:可用
控件布局分析
工具辅助定位控件属性。 - 防止卡死:主逻辑建议加超时、异常捕获,避免死循环。
总结
AutoJs极大简化了安卓自动化脚本开发。掌握本文常用操作后,你可以快速实现批量点击、自动填表、定时任务等自动化需求。