ADB 命令之 模拟按键/输入

ADB 命令之 模拟按键/输入

模拟按键/输入

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

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

Usage: input \ <command> \...

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​​ 出现在文本框了。

相关推荐
梦想不只是梦与想27 分钟前
MySQL 数据库(二):数据类型
数据库·mysql·数据类型
野生技术架构师41 分钟前
Redis 和 MySQL 如何保证数据一致性?先更新数据库还是先删缓存,延迟双删、MQ、Canal 一次讲透
数据库·redis·缓存
鸽芷咕1 小时前
SQL Server数据迁移到金仓数据库复盘:从怕性能翻车,到TPS提升60%
数据库
HAYDENR1 小时前
数据库如何做性能优化?数据库性能调优有哪些常见注意事项?
数据库·性能优化
Light Gao1 小时前
企业级灰度发布技术方案
网络·数据库·oracle
一水1 小时前
AI 时代审查思维:审查第一篇
java·jvm·数据库·spring
赵广陆2 小时前
企业实战:Milvues向量数据库实践
数据库·pycharm·langchain
微学AI2 小时前
把时间序列真正用起来:TimechoAI 使用与时序分析实战
数据库·人工智能·大模型
cspttty2 小时前
管理类专业证书含金量排名
数据库
怪奇云呼军2 小时前
闪电智能VoiceAgent 如何管理呼入、接听、桥接和挂断状态?
java·前端·网络·数据库·人工智能