接口: RootAutomator
root_automator.RootAutomator
RootAutomator 用于基于 root 或者 adb 权限,模拟点击、手势、长按等操作。相比起基于无障碍的操作,RootAutomator 支持多点触控和动态改变手势,但可能兼容性不佳。
注意
从 Pro 9.3 开始推荐使用 RootAutomator2 代替 RootAutomator,相比 RootAutomator,它有更好的设备兼容性。
目录
方法
方法
sendEvent
▸ sendEvent(type, code, value): void
发送原始输入事件。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
type | number | 事件类型 |
code | number | 事件代码 |
value | number | 事件值 |
返回值
void
syncReport
▸ syncReport(): void
同步报告,确保所有事件都已发送。
返回值
void
touch
▸ touch(x, y): void
触摸位置 (x, y)。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
x | number | X 坐标 |
y | number | Y 坐标 |
返回值
void
touchX
▸ touchX(x): void
设置触摸的 X 坐标。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
x | number | X 坐标 |
返回值
void
touchY
▸ touchY(y): void
设置触摸的 Y 坐标。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
y | number | Y 坐标 |
返回值
void
sendSync
▸ sendSync(): void
发送同步事件。
返回值
void
tap
▸ tap(x, y, id?): Promise<void>
点击位置 (x, y),时长为 5 毫秒。
示例
"nodejs";
const { createRootAutomator } = require("root_automator");
async function main() {
const ra = await createRootAutomator({ root: true });
await ra.tap(100, 100);
await ra.exit();
}
main();参数
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
x | number | undefined | X 坐标 |
y | number | undefined | Y 坐标 |
id | number | 0 | 手指 ID,默认为 0 |
返回值
Promise<void>
返回一个 Promise 对象,当操作完成时,Promise 对象会被 resolve。
swipe
▸ swipe(x1, y1, x2, y2, duration, id?, sampleMs?): Promise<void>
在给定的 duration 时长从 (x1, y1) 位置滑动到 (x2, y2) 位置。
示例
"nodejs";
const { createRootAutomator } = require("root_automator");
async function main() {
const ra = await createRootAutomator({ root: true });
// 从 (100, 100) 滑动到 (200, 200),滑动时长 300 毫秒
await ra.swipe(100, 100, 200, 200, 300);
await ra.exit();
}
main();参数
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
x1 | number | undefined | 起始 X 坐标 |
y1 | number | undefined | 起始 Y 坐标 |
x2 | number | undefined | 结束 X 坐标 |
y2 | number | undefined | 结束 Y 坐标 |
duration | number | undefined | 滑动时长,单位毫秒 |
id | number | 0 | 手指 ID,默认为 0 |
sampleMs | number | 8 | 滑动点采样时间,单位毫秒,默认为 8 毫秒 |
返回值
Promise<void>
返回一个 Promise 对象,当操作完成时,Promise 对象会被 resolve。
press
▸ press(x, y, duration, id?): Promise<void>
按下 (x, y) 位置持续 duration 时长,然后抬起手指。
示例
"nodejs";
const { createRootAutomator } = require("root_automator");
async function main() {
const ra = await createRootAutomator({ root: true });
// 按下 (100, 100) 位置持续 500 毫秒
await ra.press(100, 100, 500);
await ra.exit();
}
main();参数
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
x | number | undefined | X 坐标 |
y | number | undefined | Y 坐标 |
duration | number | undefined | 按下时长,单位毫秒 |
id | number | 0 | 手指 ID,默认为 0 |
返回值
Promise<void>
返回一个 Promise 对象,当操作完成时,Promise 对象会被 resolve。
longPress
▸ longPress(x, y, id?): Promise<void>
长按 (x, y) 位置。长按的时长为 ViewConfiguration.getLongPressTimeout()+100 毫秒。
示例
"nodejs";
const { createRootAutomator } = require("root_automator");
async function main() {
const ra = await createRootAutomator({ root: true });
// 长按 (100, 100) 位置
await ra.longPress(100, 100);
await ra.exit();
}
main();参数
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
x | number | undefined | X 坐标 |
y | number | undefined | Y 坐标 |
id | number | 0 | 手指 ID,默认为 0 |
返回值
Promise<void>
返回一个 Promise 对象,当操作完成时,Promise 对象会被 resolve。
touchDown
▸ touchDown(x, y, id?): void
按下 (x, y) 位置。
示例
"nodejs";
const { createRootAutomator } = require("root_automator");
async function main() {
const ra = await createRootAutomator({ root: true });
// 按下 (100, 100) 位置
ra.touchDown(100, 100);
// 移动手指
ra.touchMove(200, 200);
// 抬起手指
ra.touchUp();
await ra.exit();
}
main();参数
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
x | number | undefined | X 坐标 |
y | number | undefined | Y 坐标 |
id | number | 0 | 手指 ID,默认为 0 |
返回值
void
touchUp
▸ touchUp(id?): void
抬起手指。
参数
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
id | number | 0 | 手指 ID,默认为 0 |
返回值
void
touchMove
▸ touchMove(x, y, id?): void
将手指移动到 (x, y) 位置。
参数
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
x | number | undefined | X 坐标 |
y | number | undefined | Y 坐标 |
id | number | 0 | 手指 ID,默认为 0 |
返回值
void
exit
▸ exit(forced?): Promise<void>
退出 RootAutomator。
参数
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
forced | boolean | false | 如果为 true,则会强制杀死进程并中断操作;如果为 false,在当前操作结束后退出进程 |
返回值
Promise<void>
返回一个 Promise 对象,在退出完成后 resolve。
