aardio 文档
process.adb 库模块帮助文档
必读
更新
process.adb 扩展库最低支持 aardio v40.94.1 以上版本。
参考文档
adb 命令速查与参考文档:
范例
请参考开源软件 A_A(手机投屏与自动化助手)
启用手机调试
手机启用 adb 调试步骤
要点:点按手机版本号选项七次才会显示开发者选项
adb 服务端与客户端进程
process.adb.startServer 启动 adb 服务端,这个函数实际上会自动调用一次,
adb 需要一个常驻服务端(启动一个 adb.exe 进程),也只能有一个服务进程,多个服务进程会工作不正常。
这个扩展库会自动查找之前启动的 adb 服务端,如果找到就直接重用。
进程退出时不会退出常驻服务端(一般无此必要 )。
每次发送 adb 指令时也会启动一个 adb 客户端,这也是一个 adb.exe 进程。
所有 adb 客户端在执行完成后,或当前进程退出后将会自动关闭(由 process.job.limitKill 实现)。
连接手机
导入 process.adb 就会自动发现已有连接。
导入并使用 process.adb.connecter() 可检测连接,
没有连接就会启动连接与手机配对向导。
只有首次连接需要配对。
可打开手机设置 » 无线调试 中的二维码配对,
用手机扫 process.adb.connecter 向导窗口的二维码即可。
配对成功后,在手机设置中关闭并重新打开“无线调试”电脑端就会自动连接手机。
这是因为重新打开无线调试会广播当前连接端口(每次都会变)。
而 process.adb.connecter 使用 mDNS 协议自动获取手机广播的无线连接端口。
固定无线调试端口
在连接成功以后,
可选执行代码 process.adb.tcpip("5555",true) 固定无线调试端口。
但这个固定端口似乎过一段时间不用就会失效。
如果提示权限被拒绝,
可以试试使用 USB 线连接手机直接执行上面的 tcpip 函数固定无线端口。
一般情况下没有必要这样做,因为可以自动发现动态变化的无线调试端口。
process 成员列表 #
process.adb() #
返回对象:processPopenObject
process.adb(...) #
执行 adb 命令,返回 process.popen 进程管道对象。
可传入一个或多个启动命令行参数(字符串)。
传入单个字符串参数时,可用空格分开多个命令行参数。
如果有多个命令行参数,则不在双引号内、且包含空白或需要转义的参数时,
转义处理该参数后并在首尾添加双引号。
也可用一个数组传入多个参数
process.adb 成员列表 #
使用管道调用 adb。
调用 process.adb.startServer 函数启动 adb 服务端,
该函数会重用已启动的 adb 服务端而不会重复启动。
该函数启动的 adb 服务端为驻留进程,不会随程序退出,
发送其他 adb 指定则启动 adb 客户端。
此扩展库启动的所有 adb 客户端在执行结束或程序退出时自动关闭。
执行 adb 命令,返回 process.popen 进程管道对象。
process.adb.connect #
无线连接手机设备,
需要先调用 pair 函数配对。
process.adb.connect("IP:端口",设为默认设备) #
无线连接手机设备。
可选参数 @2 指定连接成功是否自动调用 setSerialNo 函数设为默认设备,
不指定参数 @2 则默认设为 true。
请打开『手机开发者设置/无线调试』获取动态无线端口。
或用 tcpip 函数设置固定端口并获取连接地址。
如果 tcpip 函数保存了默认地址,那么 connect 函数可省略连接地址参数。
连接成功返回连接地址,失败返回 null,错误信息。
首次连接需要先调用 pair 函数配对设备。
注意配对端口与连接端口不一样
process.adb.defaultArguments #
可用一个数组指定添加到所有 ADB 命令的默认全局选项,默认为 null。
默认默认全局选项会添加到所有命令行参数的最前面。
例如设为["-d"]以连接到唯一的 USB 真机
设为["-H","IP地址","-p",端口号]以连接到远程 ADB 服务端。
如果 defaultArguments 不是 null 值,
则忽略通过 setSerialNo 函数自动绑定的默认目标设备(不再自动添加 -s 选项)
process.adb.disconnect() #
断开连接
process.adb.escapeQuote(text) #
将参数 @text 转换为单引号包围的字符串,
自动转义字符串内部包含的单引号。
返回字符串可直接用于 shell 参数,不需要再进行转义。
注意字符串首尾不需要再添加单引号。
process.adb.execOut(...) #
调用 exec-out 命令读取二进制数据。
可传入一个或多个启动命令行参数(字符串)。
传入单个字符串参数时,可用空格分开多个命令行参数。
如果有多个命令行参数,则不在双引号内、且包含空白或需要转义的参数时,
转义处理该参数后并在首尾添加双引号。
也可用一个数组传入多个参数
process.adb.findDevice() #
查找已连接设备,并自动设置一个默认设备。
如果当前仅连接一个设备,则将其指定为默认设备并返回设备序号。
否则按以下规则查找设备:
如果参数 @1 为设备序号,优先选择指定设备。
如果未指定设备序号,则优先选择 USB 连接的设备。
成功返回选择的默认设备序号
在导入 process.adb 库时会自动执行一次 startServer 与 findDevice 函数。
process.adb.findServerPort() #
查找已运行的 adb 服务端端口
process.adb.get(...) #
执行 adb 命令。
成功返回进程输出,出错返回 null,错误信息 。
可传入一个或多个启动命令行参数(字符串)。
传入单个字符串参数时,可用空格分开多个命令行参数。
如果有多个命令行参数,则不在双引号内、且包含空白或需要转义的参数时,
转义处理该参数后并在首尾添加双引号。
也可用一个数组传入多个参数
process.adb.getDevices(offline,unauthorized) #
返回所有连接设备。
如果参数 @offline 为 true ,则允许返回离线设备。
如果参数 @ unauthorized 为 true ,则允许返回未近权设备。
返回值为一个数组,数组元素为设备信息。
设备信息的 serialNo 字段为设备串号,
state 字段为连接状态,"device" 为已连接,"offline" 表示离线。
info 为设备信息,其中 product 为产品代号,model 为设备型号
process.adb.getEvent() #
监听输入事件。
可指定一个或多个参数,添加 "-l" 以文本代替数值显示事件类型与名称。
返回值为 process.popen 对象。
调用返回对象的 lines 函数可以遍历所有回显行并匹配需要的值。
调用返回对象的 ctrlEvent(0) 函数可退出监听进程。
回显事件格式:设备 事件类型 事件名 事件值
返回对象:processPopenObject
process.adb.getMaxPos() #
返回最大 x 坐标与最大 y 坐标。
用于调用 getEvent 函数时转换输出的事件坐标值
process.adb.getProp #
获取属性。
成功返回字符串类型的属性值,
失败返回 null, 错误信息
process.adb.getProp("ro.build.version.release") #
process.adb.getProp("ro.build.version.getProp("ro.build.version.release")/*返回 android 系统版本,
成功返回一个字符串类型的数值*/
process.adb.getScreen() #
返回设备宽度与高度,有 2 个返回值。
process.adb.getSerialNo() #
返回当前连接的设备串号,
出错返回 null,错误信息。
如果当前连接了多个设备,且未用 setSerialNo 函数指定设备,
此函数返回 null 值,错误信息
process.adb.getState() #
成功返回设备状态,"device" 为连接成功。
出错返回 null,错误信息
process.adb.input(...) #
发送输入事件,可指定一个或多个 input 命令的参数。
建议改用 process.adb.shellInput 对象的方法发送输入事件。
process.adb.install #
安装应用到手机。
process.adb.install("apk文件路径",...) #
安装应用到手机。
可用 process.adb.logger 预先设置进程回显对象
process.adb.installUrl #
自指定的网址下载 APK 并安装到手机。
process.adb.installUrl("apk文件网址,...) #
自指定的网址下载 APK 并安装到手机。
如果参数 @1 指定 HTML 页面,则自动自 HTML 页面提取 apk 下载链接。
参数 @1 也可以指定本地 APK 文件路径。
可用 process.adb.logger 预先设置进程回显对象。
如果 APK 文件太大,建议改用 inet.downBox 或者 inet.httpFile 下载
process.adb.ip() #
返回手机 IP 地址
process.adb.isAwake() #
手机亮屏状态返回 true
process.adb.isConnected() #
当前是否连接设备
process.adb.isLockScreen() #
手机锁状态返回 true
process.adb.key #
发送按键事件。
如果需要连续发送按键,
建议先创建 process.adb.shellInput 对象,
然后调用 process.adb.shellInput 对象的 key 方法或其他 key 前缀的方法。
可避免重复启动 shell 进程。
process.adb.key() #
模拟手机按键。
需要在手机开发者设置中打开模拟按键权限。
可以使用其他 key 前缀的函数发送指定键码
process.adb.key(code,longPress) #
发送按键事件。
code 可以为数值或文本键名。
用法请参考 adb 文件。
参数 @2 为 true 时表示长按
如果需要发送一系列按键则建议先创建 process.adb.shellInput 对象。
然后调用 shellInput.key 或 shellInput.key 前缀的其他方法。
process.adb.killServer() #
停止 adb 服务端,无返回值,
adb 服务端为驻留进程用于接收命令并向手机转发指令,
注意所有 adb 客户端共用也只能共用一个服务端
process.adb.listPackages() #
列出所有应用。
可选指定一个或多个字符串参数,
"-s" 参数指定只返回系统应用,"-3"参数限定返回第三方应用。
成功返回一个数组,不指定"-f","-i"参数时数组元素为包名。
process.adb.logger #
设置 push,pull,install,uninstall 等命令的默认回显对象。
此对象用于 process.popen 的 logger 对象,
可以设为函数或文本框控件,如果引入了 console 库则会默认回显到控制台。
process.adb.openUrl(url) #
用浏览器打开参数 @url 指定的网址
process.adb.pair #
无线配对手机设备
Android 11 及更高版本支持
process.adb.pair("IP:端口","配对码") #
无线配对手机设备
参数 @1 示例 "192.168.1.103:35151"。
请打开『手机开发者设置/无线调试/使用配对码配对设备』获取IP端口与配对码。
注意配对端口与连接端口是不一样的。
成功返回包含设备guid 的字符串,
失败返回 null,错误信息
process.adb.pairQr("IP:端口","配对码") #
扫描二维码后无线配对手机设备
请打开『手机开发者设置/无线调试/使用二维码配对设备』扫描二维码。
请调用 process.adb.qrCode 并传入相同参数生成二维码。
注意配对端口与连接端口是不一样的。
成功返回包含设备 guid 的字符串,
失败返回 null,错误信息
process.adb.path #
adb.exe 路径
process.adb.pull #
自手机下载文件。
此函数调用 process.adb.logger 显示进程输出。
如果要直接返回结果,请改用 pullGet 函数
process.adb.pull("/mnt/sdcard/my.txt","本地路径",...) #
自手机下载文件。
注意本地当前目录为 process.adb.workDir 指定的目录,默认为"/"。
如果进程输出 Permission Denied 无权限,
建议请打开手机 USB 调试模式,尝试 root 修改目录权限。
可用 process.adb.logger 预先设置进程回显对象
process.adb.pullGet #
自手机下载文件。
成功返回 true ,失败返回 null, 错误信息。
此函数不会调用 process.adb.logger 输出
process.adb.pullGet("/mnt/sdcard/my.txt","本地路径",...) #
自手机下载文件。
注意本地当前目录为 process.adb.workDir 指定的目录,默认为"/"
process.adb.push #
上传文件到手机
此函数调用 process.adb.logger 显示进程输出。
如果要直接返回结果,请改用 pushGet 函数
process.adb.push("本地路径","/mnt/sdcard/",...) #
上传文件到手机。
注意本地当前目录为 process.adb.workDir 指定的目录,默认为"/"。
如果进程输出 Permission Denied 无权限,
建议请打开手机 USB 调试模式,尝试 root 修改目录权限。
可用 process.adb.logger 预先设置进程回显对象
process.adb.pushGet #
上传文件到手机。
成功返回 true ,失败返回 null, 错误信息。
此函数不会调用 process.adb.logger 输出
process.adb.pushGet("本地路径","/mnt/sdcard/",...) #
上传文件到手机。
注意本地当前目录为 process.adb.workDir 指定的目录,默认为"/"
process.adb.pushTemp(本地路径,手机文件路径,回调函数) #
process.adb.pushTemp("/example.dex","/data/local/tmp/example.dex",
function(path){
/*上传成功回调此函数,
path 为上传成功的手机文件路径。
函数调用完成自动删除上传到手机的临时文件。*/
}
)
process.adb.run #
调用安卓手机上的命令行工具 app_process 启动 Java 进程。
此函数返回 process.popen 对象,失败返回 null ,错误信息。
process.adb.run() #
返回对象:processPopenObject
process.adb.run(dexPath,mainClassName,...) #
- 参数 @dexPath 指定 dex 格式执行文件路径(手机上的路径)。
- 参数 @mainClassName 用字符串指定要执行的 Java 类全部。
- 其他参数将作为命令行参数传给被执行的 Java 类入口函数。
命令行参数可以是一个或多个字符串、数组等 process.popen 兼容的参数格式。
单个文本参数可用空格分开,如传多个参数或数组则由 aardio 合并与处理转义。
process.adb.runGet #
调用安卓手机上的命令行工具 app_process 运行 Java 进程。
等待执行完成,成功返回标准输出,失败返回标准输出与错误输出。
process.adb.runGet(dexPath,mainClassName,...) #
- 参数 @dexPath 指定 dex 格式执行文件路径(手机上的路径)。
- 参数 @mainClassName 用字符串指定要执行的 Java 类全部。
- 其他参数将作为命令行参数传给被执行的 Java 类入口函数。
命令行参数可以是一个或多个字符串、数组等 process.popen 兼容的参数格式。
单个文本参数可用空格分开,如传多个参数或数组则由 aardio 合并与处理转义。
此函数返回 process.popen 对象。
process.adb.screenCap() #
手机截屏到指定文件。
成功返回 true ,失败返回 null,错误信息
process.adb.sendSms((phone,message) #
发送短信。
参数 @phone 指定手机号。
可选用参数 @message 指定短信内容。
process.adb.sendString(text) #
发送输入文本事件,text 指定要输入的字符串。
此函数不支持中文。
如果需要发送中文可使用 USB 连接并允许 USB 安装应用,
然后安装并通过 ADBKeyboard 发送中文。
process.adb.sendevent() #
发送输入事件,参数示例:
"sendevent /dev/input/event3 3 57 0"
process.adb.setSerialNo(设备串号) #
指定设将命令发送至特定设备。
注意 connect,disconnect,findDevice 等函数会自动调用此函数。
参数 @1 指定设备序号,设为 null 则不指定特定设备。
此函数返回参数 @1 。
此函数会将参数指定的设备串号设为进程与当前线程的 adb 命令默认目标设备。
如果未指定 process.adb.defaultArguments 属性
则所有需要指定设备的命令中将自动添加 "-s","默认设备串号"参数。
process.adb.shareFile(localPath, target) #
在手机上分享文件。
建议在工作线程中引入 process.adb 库并调用此函数。
- 参数 @localPath 指定本地文件路径。。
- 可选用 @target 指定分享目标,可指定"应用名"或"应用名/分享组件"。
例如 com.tencent.mm/.ui.tools.ShareImgUI或 "com.tencent.mobileqq")
process.adb.shareText(text,title,target) #
在手机上分享文本。
- 参数 @text 指定的文本(可包含中文等多字节字符)。
- 可选用 @title 参数指定标题。
- 可选用 @target 指定分享目标,可指定"应用名"或"应用名/分享组件"。
例如 com.tencent.mm/.ui.tools.ShareImgUI
process.adb.shell() #
启动 adb 客户端并返回 process.popen 对象,
指定参数则直接执行参数指定的命令后关闭进程。
不指定参数则进入 shell 命令交互模式,
交互模式下可使用 expect 函数检测并等待进程输出。
更多用法请参考 process.popen 库函数文档
返回对象:processPopenObject
process.adb.shellGet(...) #
执行 adb shell 命令。
成功返回进程输出,出错返回 null,错误信息 。
可传入一个或多个启动命令行参数(字符串)。
传入单个字符串参数时,可用空格分开多个命令行参数。
如果有多个命令行参数,则不在双引号内、且包含空白或需要转义的参数时,
转义处理该参数后并在首尾添加双引号。
也可用一个数组传入多个参数
process.adb.shellInput() #
创建发送手机输入命令的 shell 进程,
可以调用返回对象的 tap,swipe 或 key 前缀的系列成员函数
向手机发送按键命令。
返回对象:processAdbShellInputObject
process.adb.startCall(phone) #
拔打指定电话,需要在手机开发者选项中打开权限
process.adb.startServer() #
启动 adb 服务端,成功返回 true ,
此函数如果找到之前已启动的服务端会直接重用该服务并返回 true 。
失败返回 false, 错误信息 。
adb 服务端为驻留进程用于接收命令并向手机转发指令
而 adb 客户端进程在向服务端发送完指令后退出
这个函数会在程序启动时自动调用一次
process.adb.swipe #
向手机发送一系列连续的触摸事件以模拟手势(Gesture)或滑动(Sliding)。
process.adb.swipe(x1,y1,x2,y2,duration) #
从 x1,y1 坐标滑动到 x2,y2 坐标。
可选用 duration 指定持续时间,以毫秒为单位。
原地滑动发送长按事件
process.adb.tap #
模拟触模输入事件
process.adb.tap(x,y) #
参数 x,y 指定坐标
process.adb.tcpip() #
已使用 USB 数据线连接手机后修改无线连接端口。
注意如果长时间未使用,使用此命令开启的无线端口会被关闭。
参数@1 使用数值或字符串指定端口号,不指定则默认为 5555。
成功返回"IP:端口"格式地址,失败返回 null,错误信息。
如果参数 @1 为 false 则关闭此固定端口并切换到默认的 USB 模式。
成功返回进程输出,失败返回 null,错误输出。
此函数开启 TCPIP 固定端口以后,
手机无线调试页面仍然会显示另一个动态端口号。
并且每次调用这个函数,动态端口号都会变更
process.adb.uninstall("应用名") #
卸载应用。
可用 process.adb.logger 预先设置进程回显对象
process.adb.uninstall("应用名","-k") #
卸载应用,但保留配置和缓存
process.adb.userAgent #
用于下载 APK 的 Android 设备 User-Agent
process.adb.version() #
返回 ADB 版本信息。
process.adb.version(true) #
返回手机设备 Android 版本。
process.adb.waitForDevice() #
等待设备连接
process.adb.workDir #
工作目录,默认为 "/"(应用程序根目录);
processAdbShellInputObject 成员列表 #
processAdbShellInputObject.close() #
关闭对象
processAdbShellInputObject.key #
向手机发送按键。
所有 key 前缀的方法都是调用 key 方法发送按键。
processAdbShellInputObject.key(code,longPress) #
- 参数 @code 使用数值指定安卓手机按键代码。
- 参数 @longPress 可选用布尔值指定是否长按。
所有 key 前缀的其他方法都可以使用参数 @1 指定 longPress 参数(不再额外标明)。
processAdbShellInputObject.key0() #
按键 7
processAdbShellInputObject.key1() #
按键 8
processAdbShellInputObject.key11() #
按键 227
processAdbShellInputObject.key12() #
按键 228
processAdbShellInputObject.key2() #
按键 9
processAdbShellInputObject.key3() #
按键 10
processAdbShellInputObject.key3dMode() #
按键 206
processAdbShellInputObject.key4() #
按键 11
processAdbShellInputObject.key5() #
按键 12
processAdbShellInputObject.key6() #
按键 13
processAdbShellInputObject.key7() #
按键 14
processAdbShellInputObject.key8() #
按键 15
processAdbShellInputObject.key9() #
按键 16
processAdbShellInputObject.keyA() #
按键 29
processAdbShellInputObject.keyAllApps() #
按键 284
processAdbShellInputObject.keyAltLeft() #
按键 57
processAdbShellInputObject.keyAltRight() #
按键 58
processAdbShellInputObject.keyApostrophe() #
按键 75
processAdbShellInputObject.keyAppSwitch() #
按键 187
processAdbShellInputObject.keyAssist() #
按键 219
processAdbShellInputObject.keyAt() #
按键 77
processAdbShellInputObject.keyAvrInput() #
按键 182
processAdbShellInputObject.keyAvrPower() #
按键 181
processAdbShellInputObject.keyB() #
按键 30
processAdbShellInputObject.keyBack() #
按键 4
processAdbShellInputObject.keyBackslash() #
按键 73
processAdbShellInputObject.keyBookmark() #
按键 174
processAdbShellInputObject.keyBreak() #
按键 121
processAdbShellInputObject.keyBrightnessDown() #
按键 220
processAdbShellInputObject.keyBrightnessUp() #
按键 221
processAdbShellInputObject.keyButton1() #
按键 188
processAdbShellInputObject.keyButton10() #
按键 197
processAdbShellInputObject.keyButton11() #
按键 198
processAdbShellInputObject.keyButton12() #
按键 199
processAdbShellInputObject.keyButton13() #
按键 200
processAdbShellInputObject.keyButton14() #
按键 201
processAdbShellInputObject.keyButton15() #
按键 202
processAdbShellInputObject.keyButton16() #
按键 203
processAdbShellInputObject.keyButton2() #
按键 189
processAdbShellInputObject.keyButton3() #
按键 190
processAdbShellInputObject.keyButton4() #
按键 191
processAdbShellInputObject.keyButton5() #
按键 192
processAdbShellInputObject.keyButton6() #
按键 193
processAdbShellInputObject.keyButton7() #
按键 194
processAdbShellInputObject.keyButton8() #
按键 195
processAdbShellInputObject.keyButton9() #
按键 196
processAdbShellInputObject.keyButtonA() #
按键 96
processAdbShellInputObject.keyButtonB() #
按键 97
processAdbShellInputObject.keyButtonC() #
按键 98
processAdbShellInputObject.keyButtonL1() #
按键 102
processAdbShellInputObject.keyButtonL2() #
按键 104
processAdbShellInputObject.keyButtonMode() #
按键 110
processAdbShellInputObject.keyButtonR1() #
按键 103
processAdbShellInputObject.keyButtonR2() #
按键 105
processAdbShellInputObject.keyButtonSelect() #
按键 109
processAdbShellInputObject.keyButtonStart() #
按键 108
processAdbShellInputObject.keyButtonThumbl() #
按键 106
processAdbShellInputObject.keyButtonThumbr() #
按键 107
processAdbShellInputObject.keyButtonX() #
按键 99
processAdbShellInputObject.keyButtonY() #
按键 100
processAdbShellInputObject.keyButtonZ() #
按键 101
processAdbShellInputObject.keyC() #
按键 31
processAdbShellInputObject.keyCalculator() #
按键 210
processAdbShellInputObject.keyCalendar() #
按键 208
processAdbShellInputObject.keyCall() #
按键 5
processAdbShellInputObject.keyCamera() #
按键 27
processAdbShellInputObject.keyCapsLock() #
按键 115
processAdbShellInputObject.keyCaptions() #
按键 175
processAdbShellInputObject.keyCenter #
keyDpadCenter;
processAdbShellInputObject.keyChannelDown() #
按键 167
processAdbShellInputObject.keyChannelUp() #
按键 166
processAdbShellInputObject.keyClear() #
按键 28
processAdbShellInputObject.keyComma() #
按键 55
processAdbShellInputObject.keyContacts() #
按键 207
processAdbShellInputObject.keyCopy() #
按键 278
processAdbShellInputObject.keyCtrlLeft() #
按键 113
processAdbShellInputObject.keyCtrlRight() #
按键 114
processAdbShellInputObject.keyCut() #
按键 277
processAdbShellInputObject.keyD() #
按键 32
processAdbShellInputObject.keyDel() #
按键 67
processAdbShellInputObject.keyDown #
keyDpadDown;
processAdbShellInputObject.keyDpadCenter() #
按键 23
processAdbShellInputObject.keyDpadDown() #
按键 20
processAdbShellInputObject.keyDpadDownLeft() #
按键 269
processAdbShellInputObject.keyDpadDownRight() #
按键 271
processAdbShellInputObject.keyDpadLeft() #
按键 21
processAdbShellInputObject.keyDpadRight() #
按键 22
processAdbShellInputObject.keyDpadUp() #
按键 19
processAdbShellInputObject.keyDpadUpLeft() #
按键 268
processAdbShellInputObject.keyDpadUpRight() #
按键 270
processAdbShellInputObject.keyDvr() #
按键 173
processAdbShellInputObject.keyE() #
按键 33
processAdbShellInputObject.keyEisu() #
按键 212
processAdbShellInputObject.keyEndcall() #
按键 6
processAdbShellInputObject.keyEnter() #
按键 66
processAdbShellInputObject.keyEnvelope() #
按键 65
processAdbShellInputObject.keyEquals() #
按键 70
processAdbShellInputObject.keyEscape() #
按键 111
processAdbShellInputObject.keyExplorer() #
按键 64
processAdbShellInputObject.keyF() #
按键 34
processAdbShellInputObject.keyF1() #
按键 131
processAdbShellInputObject.keyF10() #
按键 140
processAdbShellInputObject.keyF11() #
按键 141
processAdbShellInputObject.keyF12() #
按键 142
processAdbShellInputObject.keyF2() #
按键 132
processAdbShellInputObject.keyF3() #
按键 133
processAdbShellInputObject.keyF4() #
按键 134
processAdbShellInputObject.keyF5() #
按键 135
processAdbShellInputObject.keyF6() #
按键 136
processAdbShellInputObject.keyF7() #
按键 137
processAdbShellInputObject.keyF8() #
按键 138
processAdbShellInputObject.keyF9() #
按键 139
processAdbShellInputObject.keyFocus() #
按键 80
processAdbShellInputObject.keyForward() #
按键 125
processAdbShellInputObject.keyForwardDel() #
按键 112
processAdbShellInputObject.keyFunction() #
按键 119
processAdbShellInputObject.keyG() #
按键 35
processAdbShellInputObject.keyGrave() #
按键 68
processAdbShellInputObject.keyGuide() #
按键 172
processAdbShellInputObject.keyH() #
按键 36
processAdbShellInputObject.keyHeadsethook() #
按键 79
processAdbShellInputObject.keyHelp() #
按键 259
processAdbShellInputObject.keyHenkan() #
按键 214
processAdbShellInputObject.keyHome() #
按键 3
processAdbShellInputObject.keyI() #
按键 37
processAdbShellInputObject.keyInfo() #
按键 165
processAdbShellInputObject.keyInsert() #
按键 124
processAdbShellInputObject.keyJ() #
按键 38
processAdbShellInputObject.keyK() #
按键 39
processAdbShellInputObject.keyKana() #
按键 218
processAdbShellInputObject.keyKatakanaHiragana() #
按键 215
processAdbShellInputObject.keyL() #
按键 40
processAdbShellInputObject.keyLanguageSwitch() #
按键 204
processAdbShellInputObject.keyLastChannel() #
按键 229
processAdbShellInputObject.keyLeft #
keyDpadLeft;
processAdbShellInputObject.keyLeftBracket() #
按键 71
processAdbShellInputObject.keyM() #
按键 41
processAdbShellInputObject.keyMannerMode() #
按键 205
processAdbShellInputObject.keyMediaAudioTrack() #
按键 222
processAdbShellInputObject.keyMediaClose() #
按键 128
processAdbShellInputObject.keyMediaEject() #
按键 129
processAdbShellInputObject.keyMediaFastForward() #
按键 90
processAdbShellInputObject.keyMediaNext() #
按键 87
processAdbShellInputObject.keyMediaPause() #
按键 127
processAdbShellInputObject.keyMediaPlay() #
按键 126
processAdbShellInputObject.keyMediaPlayPause() #
按键 85
processAdbShellInputObject.keyMediaPrevious() #
按键 88
processAdbShellInputObject.keyMediaRecord() #
按键 130
processAdbShellInputObject.keyMediaRewind() #
按键 89
processAdbShellInputObject.keyMediaSkipBackward() #
按键 273
processAdbShellInputObject.keyMediaSkipForward() #
按键 272
processAdbShellInputObject.keyMediaStepBackward() #
按键 275
processAdbShellInputObject.keyMediaStepForward() #
按键 274
processAdbShellInputObject.keyMediaStop() #
按键 86
processAdbShellInputObject.keyMediaTopMenu()
按键 226
processAdbShellInputObject.keyMenu()
按键 82
processAdbShellInputObject.keyMetaLeft() #
按键 117
processAdbShellInputObject.keyMetaRight() #
按键 118
processAdbShellInputObject.keyMinus() #
按键 69
processAdbShellInputObject.keyMoveEnd() #
按键 123
processAdbShellInputObject.keyMoveHome() #
按键 122
processAdbShellInputObject.keyMuhenkan() #
按键 213
processAdbShellInputObject.keyMusic() #
按键 209
processAdbShellInputObject.keyMute() #
按键 91
processAdbShellInputObject.keyN() #
按键 42
processAdbShellInputObject.keyNavigateIn() #
按键 262
processAdbShellInputObject.keyNavigateNext() #
按键 261
processAdbShellInputObject.keyNavigateOut() #
按键 263
processAdbShellInputObject.keyNavigatePrevious() #
按键 260
processAdbShellInputObject.keyNotification() #
按键 83
processAdbShellInputObject.keyNum() #
按键 78
processAdbShellInputObject.keyNumLock() #
按键 143
processAdbShellInputObject.keyNumpad0() #
按键 144
processAdbShellInputObject.keyNumpad1() #
按键 145
processAdbShellInputObject.keyNumpad2() #
按键 146
processAdbShellInputObject.keyNumpad3() #
按键 147
processAdbShellInputObject.keyNumpad4() #
按键 148
processAdbShellInputObject.keyNumpad5() #
按键 149
processAdbShellInputObject.keyNumpad6() #
按键 150
processAdbShellInputObject.keyNumpad7() #
按键 151
processAdbShellInputObject.keyNumpad8() #
按键 152
processAdbShellInputObject.keyNumpad9() #
按键 153
processAdbShellInputObject.keyNumpadAdd() #
按键 157
processAdbShellInputObject.keyNumpadComma() #
按键 159
processAdbShellInputObject.keyNumpadDivide() #
按键 154
processAdbShellInputObject.keyNumpadDot() #
按键 158
processAdbShellInputObject.keyNumpadEnter() #
按键 160
processAdbShellInputObject.keyNumpadEquals() #
按键 161
processAdbShellInputObject.keyNumpadLeftParen() #
按键 162
processAdbShellInputObject.keyNumpadMultiply() #
按键 155
processAdbShellInputObject.keyNumpadRightParen() #
按键 163
processAdbShellInputObject.keyNumpadSubtract() #
按键 156
processAdbShellInputObject.keyO() #
按键 43
processAdbShellInputObject.keyP() #
按键 44
processAdbShellInputObject.keyPageDown() #
按键 93
processAdbShellInputObject.keyPageUp() #
按键 92
processAdbShellInputObject.keyPairing() #
按键 225
processAdbShellInputObject.keyPaste() #
按键 279
processAdbShellInputObject.keyPeriod() #
按键 56
processAdbShellInputObject.keyPictsymbols() #
按键 94
processAdbShellInputObject.keyPlus() #
按键 81
processAdbShellInputObject.keyPound() #
按键 18
processAdbShellInputObject.keyPower() #
按键 26
processAdbShellInputObject.keyProgBlue() #
按键 186
processAdbShellInputObject.keyProgGreen() #
按键 184
processAdbShellInputObject.keyProgRed() #
按键 183
processAdbShellInputObject.keyProgYellow() #
按键 185
processAdbShellInputObject.keyQ() #
按键 45
processAdbShellInputObject.keyR() #
按键 46
processAdbShellInputObject.keyRefresh() #
按键 285
processAdbShellInputObject.keyRight #
keyDpadRight;
processAdbShellInputObject.keyRightBracket() #
按键 72
processAdbShellInputObject.keyRo() #
按键 217
processAdbShellInputObject.keyS() #
按键 47
processAdbShellInputObject.keyScrollLock() #
按键 116
processAdbShellInputObject.keySearch() #
按键 84
processAdbShellInputObject.keySemicolon() #
按键 74
processAdbShellInputObject.keySettings() #
按键 176
processAdbShellInputObject.keyShiftLeft() #
按键 59
processAdbShellInputObject.keyShiftRight() #
按键 60
processAdbShellInputObject.keySlash() #
按键 76
processAdbShellInputObject.keySleep() #
按键 223
processAdbShellInputObject.keySoftLeft() #
按键 1
processAdbShellInputObject.keySoftRight() #
按键 2
processAdbShellInputObject.keySoftSleep() #
按键 276
processAdbShellInputObject.keySpace() #
按键 62
processAdbShellInputObject.keyStar() #
按键 17
processAdbShellInputObject.keyStbInput() #
按键 180
processAdbShellInputObject.keyStbPower() #
按键 179
processAdbShellInputObject.keyStem1() #
按键 265
processAdbShellInputObject.keyStem2() #
按键 266
processAdbShellInputObject.keyStem3() #
按键 267
processAdbShellInputObject.keyStemPrimary() #
按键 264
processAdbShellInputObject.keySwitchCharset() #
按键 95
processAdbShellInputObject.keySym() #
按键 63
processAdbShellInputObject.keySysrq() #
按键 120
processAdbShellInputObject.keySystemNavigationDown() #
按键 281
processAdbShellInputObject.keySystemNavigationLeft() #
按键 282
processAdbShellInputObject.keySystemNavigationRight() #
按键 283
processAdbShellInputObject.keySystemNavigationUp() #
按键 280
processAdbShellInputObject.keyT() #
按键 48
processAdbShellInputObject.keyTab() #
按键 61
processAdbShellInputObject.keyTv() #
按键 170
processAdbShellInputObject.keyTvAntennaCable() #
按键 242
processAdbShellInputObject.keyTvAudioDescription() #
按键 252
processAdbShellInputObject.keyTvAudioDescriptionMixDown() #
按键 254
processAdbShellInputObject.keyTvAudioDescriptionMixUp() #
按键 253
processAdbShellInputObject.keyTvContentsMenu()
按键 256
processAdbShellInputObject.keyTvDataService() #
按键 230
processAdbShellInputObject.keyTvInput() #
按键 178
processAdbShellInputObject.keyTvInputComponent1() #
按键 249
processAdbShellInputObject.keyTvInputComponent2() #
按键 250
processAdbShellInputObject.keyTvInputComposite1() #
按键 247
processAdbShellInputObject.keyTvInputComposite2() #
按键 248
processAdbShellInputObject.keyTvInputHdmi1() #
按键 243
processAdbShellInputObject.keyTvInputHdmi2() #
按键 244
processAdbShellInputObject.keyTvInputHdmi3() #
按键 245
processAdbShellInputObject.keyTvInputHdmi4() #
按键 246
processAdbShellInputObject.keyTvInputVga1() #
按键 251
processAdbShellInputObject.keyTvMediaContextMenu()
按键 257
processAdbShellInputObject.keyTvNetwork() #
按键 241
processAdbShellInputObject.keyTvNumberEntry() #
按键 234
processAdbShellInputObject.keyTvPower() #
按键 177
processAdbShellInputObject.keyTvRadioService() #
按键 232
processAdbShellInputObject.keyTvSatellite() #
按键 237
processAdbShellInputObject.keyTvSatelliteBs() #
按键 238
processAdbShellInputObject.keyTvSatelliteCs() #
按键 239
processAdbShellInputObject.keyTvSatelliteService() #
按键 240
processAdbShellInputObject.keyTvTeletext() #
按键 233
processAdbShellInputObject.keyTvTerrestrialAnalog() #
按键 235
processAdbShellInputObject.keyTvTerrestrialDigital() #
按键 236
processAdbShellInputObject.keyTvTimerProgramming() #
按键 258
processAdbShellInputObject.keyTvZoomMode() #
按键 255
processAdbShellInputObject.keyU() #
按键 49
processAdbShellInputObject.keyUp #
keyDpadUp;
processAdbShellInputObject.keyV() #
按键 50
processAdbShellInputObject.keyVoiceAssist() #
按键 231
processAdbShellInputObject.keyVolumeDown() #
按键 25
processAdbShellInputObject.keyVolumeMute() #
按键 164
processAdbShellInputObject.keyVolumeUp() #
按键 24
processAdbShellInputObject.keyW() #
按键 51
processAdbShellInputObject.keyWakeup() #
按键 224
processAdbShellInputObject.keyWindow() #
按键 171
processAdbShellInputObject.keyX() #
按键 52
processAdbShellInputObject.keyY() #
按键 53
processAdbShellInputObject.keyYen() #
按键 216
processAdbShellInputObject.keyZ() #
按键 54
processAdbShellInputObject.keyZenkakuHankaku() #
按键 211
processAdbShellInputObject.keyZoomIn() #
按键 168
processAdbShellInputObject.keyZoomOut() #
按键 169
processAdbShellInputObject.swipe #
向手机发送一系列连续的触摸事件以模拟手势(Gesture)或滑动(Sliding)。
processAdbShellInputObject.swipe(x1,y1,x2,y2,duration) #
从 x1,y1 坐标滑动到 x2,y2 坐标。
可选用 duration 指定持续时间,以毫秒为单位。
原地滑动发送长按事件
processAdbShellInputObject.tap #
模拟触模输入事件
processAdbShellInputObject.tap(x,y) #
参数 x,y 指定坐标
Markdown 格式