安装使用

ctrl shift p

Auto.js: Start Server

手机连接wifi

Auto.js Pro: 连接到新设备

全局

toast([string]) // 气泡提示框(在非autojs app上不显示)
sleep([毫秒]) // 延迟
exit() // 停止运行
setClip([string]) // 设置剪贴板内容
getClip([string]) // 获取剪贴板内容
log([string]) // 控制台打印

导入导出

// 导出
module.exports = {func: () => {}
};// 导入
const { func } = require([path]);

启动应用

app.launchApp([appName]) // 通过app名打开
app.launch([packageName]) // 通过包名打开

打开无障碍服务(需adb受权,重启手机不失效)

importClass(android.content.Context);
importClass(android.provider.Settings);
try {var enabledServices = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);log('当前已启用的辅助服务\n', enabledServices);var Services = enabledServices + ":org.autojs.autojspro/com.stardust.autojs.core.accessibility.AccessibilityService";Settings.Secure.putString(context.getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, Services);Settings.Secure.putString(context.getContentResolver(), Settings.Secure.ACCESSIBILITY_ENABLED, '1');toastLog("成功开启AutoJS的辅助服务");
} catch (error) {//受权方法:开启usb调试并使用adb工具链接手机,执行 adb shell pm grant org.autojs.autojspro android.permission.WRITE_SECURE_SETTINGtoastLog("\n请确保已给予 WRITE_SECURE_SETTINGS 权限\n\n受权代码已复制,请使用adb工具链接手机执行(重启不失效)\n\n", error);setClip("adb shell pm grant org.autojs.autojspro android.permission.WRITE_SECURE_SETTINGS");
}

API

device.width // 设备分辨率
device.heighttext([str])
desc([str])
className([str])
id([str])
bounds() // 控件范围(返回Rect)
// 例:Rect.left
// 例:Rect.right
// 例:Rect.top
// 例:Rect.bottom
// 例:Rect.centerX()
// 例:Rect.centerY)
// 例:Rect.width()
// 例:Rect.height()
depth([num]) // 控件的布局深度
// 例:className("ImageView").depth(10).findOne()
size() // find()的数量
get([index]) // find()第i个控件
each([func]) // 遍历find()findOne() // 直到找到(第一个)
findOnce() // 只找一次
untilFind() // 直到找到第一个(返回所有)
find() // 只找一次(返回所有)(阻塞)
waitFor() // 等待出现(阻塞)
exits() // 判断控件是否存在
filter([func]) // 过滤
children() // 子控件集合
childCount() // 子控件数量
child([index]) // 子控件
parent() // 父控件
empty() // 控件集合是否 为空
nonEmpty() // 控件集合是否 非空
[node].click() // 点击
click([str]) // 点击文本
click([num, num]) // 点击坐标 (安卓7.0+)
clickCenter() // 点击控件的中间
longClick() // 长按
swipe([x1, y1, x2, y2, 时长]) // 滑动 (安卓7.0+)
copy() // 复制 输入框选中内容
cut() // 剪切 输入框选中内容
paste() // 粘贴内容到输入框
select() // 选中控件(选择框)
scrollUp([index]) // 上划或左滑(没有参数滑动最大的)
scrollDown([index]) // 下划或右滑(没有参数滑动最大的)
setText([index, str]) // 设置输入框内容(不加索引,设置全部输入框)(覆盖原内容)
input([index, str]) // 设置输入框内容(不加索引,设置全部输入框)(追加内容)
KeyCode([code]) // 要按下的按键(名称或代码 例:KEYCODE_0)
back() // 返回键
home() // home键
powerDialog() // 弹出电源键菜单
notifications() // 拉出通知栏
quickSettings() // 显示快速设置(下拉通知栏到底)
recents() // 显示最近任务

多线程

threads.start(function() {}); // 启动线程,返回thread实例(用于)
[thread].interrup() // 停止线程
threads.shutDownAll() // 通知所有start开启的线程

UI

autojs

$ui.layout(<vertical><webview id="web" w="*" h="*" /></vertical>
);
// const webName = $files.join($files.cwd(), 'web')
// $ui.web.loadUrl( `file://${webName}/web/index.html` );
$ui.web.loadUrl(`http://192.168.91.38:5500/web/index.html`);// 接收
const jsBridge = $ui.web.jsBridge;
jsBridge.handle('open', () => {toastLog('打开...')
});

html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="autojs://sdk/v1.js"></script>
</head>
<body><button id="btn">open</button><script>document.getElementById('btn').onclick = function() {// 发送事件请求$autojs.invoke('open')}</script>
</body>
</html>

autojs学习笔记相关推荐

  1. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  2. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  3. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  4. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  5. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  6. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  7. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  8. Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)

    Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...

  9. MongoDB学习笔记(入门)

    MongoDB学习笔记(入门) 一.文档的注意事项: 1.  键值对是有序的,如:{ "name" : "stephen", "genda" ...

最新文章

  1. swift使用cocoapods导入oc三方库
  2. 拼多多程序员:因为看到同事被抬上救护车,我被开除了!
  3. python用辗转相除法求最大公约数
  4. 微信红包数字变化动态图片_11.11早安暖心祝福动态图片 微信朋友圈早晨问候语...
  5. wxWidgets:使用自定义对话框和 sizer
  6. 【HDOJ 5384】Danganronpa
  7. 十大经典排序算法动画与解析,看我就够了!(配代码完全版)
  8. php读取西门子plc_PLC对模拟量信号,是怎么进行处理的?
  9. SHA384-算法解密
  10. lua绑定c++的时候常见得错误
  11. EKF_SLAM一般过程
  12. Maven 入门——认识Maven结构
  13. 单总线led驱动芯片WS2811在linux下的驱动
  14. 第一章第一节第一课时智能训练(2012-01-18 18:42:23)
  15. Android高德地图点击大头针更换大头针图片
  16. 好斗or炒作?甲骨文“撕咬”过的那些对手 - 爱上英语题库系统|郭雄飞
  17. 前端程序员发展必备工具
  18. php 字符查询_php中几个常用的字符串查找函数
  19. 阿里云免费个人Docker镜像仓库搭建
  20. VBA实战(09) - 工作簿(WorkBook)

热门文章

  1. 喜姐成立两年A轮融资近3亿,资本也爱“吃”炸串?
  2. mysql数据库data目录下文件说明
  3. ZZULIOJ:1102: 火车票退票费计算(函数专题)
  4. 计算机一级考试空格符号选择题,2018年9月计算机一级考试MSOffice练习题二
  5. Android开发:调用系统图库选择图片
  6. 网心科技入选2022中国边缘计算企业20强
  7. ShardingSphere分库分表实战与核心原理
  8. opencv实现行人检测(C++)
  9. hexo博客主题推荐
  10. [小黄书管理平台]Angularjs 2.0应用的国际化