ADB 命令之 模拟按键/输入

ADB 命令之 模拟按键/输入

模拟按键/输入

在 ​​adb shell​​​ 里有个很实用的命令叫 ​​input​​,通过它可以做一些有趣的事情。

​​input​​ 命令的完整 help 信息如下:

Usage: input [<source>] <command> [<arg>...]

The sources are:

mouse

keyboard

joystick

touchnavigation

touchpad

trackball

stylus

dpad

gesture

touchscreen

gamepad

The commands and default sources are:

text <string> (Default: touchscreen)

keyevent [--longpress] <key code number or name> ... (Default: keyboard)

tap <x> <y> (Default: touchscreen)

swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)

press (Default: trackball)

roll <dx> <dy> (Default: trackball)

比如使用 ​​adb shell input keyevent <keycode>​​​ 命令,不同的 keycode 能实现不同的功能,完整的 keycode 列表详见 ​ ​KeyEvent​​,摘引部分我觉得有意思的如下:

下面是 ​​input​​ 命令的一些用法举例。

电源键

命令:
adb shell input keyevent 26

执行效果相当于按电源键。

菜单键

命令:

adb shell input keyevent 82

HOME 键

命令:

adb shell input keyevent 3

返回键

命令:

adb shell input keyevent 4

音量控制

增加音量:

adb shell input keyevent 24

降低音量:

adb shell input keyevent 25

静音:

adb shell input keyevent 164

媒体控制

播放/暂停:

adb shell input keyevent 85

停止播放:

adb shell input keyevent 86

播放下一首:

adb shell input keyevent 87

播放上一首:

adb shell input keyevent 88

恢复播放:

adb shell input keyevent 126

暂停播放:

adb shell input keyevent 127

点亮/熄灭屏幕

可以通过上文讲述过的模拟电源键来切换点亮和熄灭屏幕,但如果明确地想要点亮或者熄灭屏幕,那可以使用如下方法。

点亮屏幕:

adb shell input keyevent 224

熄灭屏幕:

adb shell input keyevent 223

滑动解锁

如果锁屏没有密码,是通过滑动手势解锁,那么可以通过 ​​input swipe​​ 来解锁。

命令(参数以机型 Nexus 5,向上滑动手势解锁举例):

adb shell input swipe 300 1000 300 500

参数 ​​300 1000 300 500​​​ 分别表示​​起始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标​​。

输入文本

在焦点处于某文本框时,可以通过 ​​input​​ 命令来输入文本。

命令:
adb shell input text hello

现在 ​​hello​​ 出现在文本框了。

相关推荐
好奇的菜鸟2 小时前
Spring Boot 事务失效问题:同一个 Service 类中方法调用导致事务失效的原因及解决方案
数据库·spring boot·sql
岁岁岁平安3 小时前
Redis基础学习(五大值数据类型的常用操作命令)
数据库·redis·学习·redis list·redis hash·redis set·redis string
小光学长5 小时前
基于vue框架的防疫科普网站0838x(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库
极限实验室5 小时前
使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建
数据库·docker·devops
飞翔的佩奇5 小时前
Java项目:基于SSM框架实现的旅游协会管理系统【ssm+B/S架构+源码+数据库+毕业论文】
java·数据库·mysql·毕业设计·ssm·旅游·jsp
float_六七7 小时前
SQL六大核心类别全解析
数据库·sql·oracle
Code季风9 小时前
将 gRPC 服务注册到 Consul:从配置到服务发现的完整实践(上)
数据库·微服务·go·json·服务发现·consul
Boilermaker19929 小时前
【Java EE】SpringIoC
前端·数据库·spring
霸王龙的小胳膊9 小时前
泛微虚拟视图-数据虚拟化集成
数据库
灵犀学长10 小时前
解锁Spring Boot多项目共享Redis:优雅Key命名结构指南
数据库·redis