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