【ADB】常用按键代码:adb的所有模拟按键

在 Android 的 adb shell input 命令中,可以通过 keyevent 模拟 几乎所有物理按键 (如 Home、返回、音量、电源等),以及部分 虚拟按键 (如删除、回车、菜单等)。以下是完整的 按键代码列表常用示例


1. 常用按键代码(Android KeyEvent)

按键名称 代码 (KEYCODE_) 说明
Home 键 KEYCODE_HOME 3
返回键 KEYCODE_BACK 4
电源键 KEYCODE_POWER 26
音量+ KEYCODE_VOLUME_UP 24
音量- KEYCODE_VOLUME_DOWN 25
菜单键 KEYCODE_MENU 82(部分设备已废弃)
搜索键 KEYCODE_SEARCH 84(部分设备已废弃)
回车键 KEYCODE_ENTER 66
删除键(Backspace) KEYCODE_DEL 67(删除光标前字符)
删除键(Delete) KEYCODE_FORWARD_DEL 112(删除光标后字符)
空格键 KEYCODE_SPACE 62
Tab 键 KEYCODE_TAB 61
方向键(上) KEYCODE_DPAD_UP 19
方向键(下) KEYCODE_DPAD_DOWN 20
方向键(左) KEYCODE_DPAD_LEFT 21
方向键(右) KEYCODE_DPAD_RIGHT 22
切换输入法 KEYCODE_SWITCH_CHARSET 92(部分设备支持)
截图(部分设备) KEYCODE_SYSRQ 120(需系统支持)
最近任务键 KEYCODE_APP_SWITCH 187(Android 10+ 默认)
通知栏 KEYCODE_NOTIFICATION 无(部分 ROM 支持 KEYCODE_HEADSETHOOK + 组合键)

2. 常用命令示例

(1)模拟 Home 键

bash 复制代码
adb shell input keyevent KEYCODE_HOME
# 或简写(数字代码)
adb shell input keyevent 3

(2)模拟返回键

bash 复制代码
adb shell input keyevent KEYCODE_BACK
# 或
adb shell input keyevent 4

(3)模拟删除键(Backspace)

bash 复制代码
adb shell input keyevent KEYCODE_DEL
# 或
adb shell input keyevent 67

(4)模拟 Delete 键(删除光标后字符)

bash 复制代码
adb shell input keyevent KEYCODE_FORWARD_DEL
# 或
adb shell input keyevent 112

(5)模拟电源键(锁屏/唤醒)

bash 复制代码
adb shell input keyevent KEYCODE_POWER
# 或
adb shell input keyevent 26

(6)模拟音量调节

bash 复制代码
adb shell input keyevent KEYCODE_VOLUME_UP    # 音量+
adb shell input keyevent KEYCODE_VOLUME_DOWN  # 音量-
adb shell input keyevent KEYCODE_VOLUME_MUTE  # 静音(部分设备支持)

(7)模拟方向键(游戏/导航)

bash 复制代码
adb shell input keyevent KEYCODE_DPAD_UP     # 上
adb shell input keyevent KEYCODE_DPAD_DOWN   # 下
adb shell input keyevent KEYCODE_DPAD_LEFT   # 左
adb shell input keyevent KEYCODE_DPAD_RIGHT  # 右

(8)模拟回车键(发送消息/确认)

bash 复制代码
adb shell input keyevent KEYCODE_ENTER
# 或
adb shell input keyevent 66

(9)模拟空格键

bash 复制代码
adb shell input keyevent KEYCODE_SPACE
# 或
adb shell input keyevent 62

(10)模拟最近任务键(Android 10+)

bash 复制代码
adb shell input keyevent KEYCODE_APP_SWITCH
# 或
adb shell input keyevent 187

3. 特殊按键(需系统支持)

(1)模拟截图(部分设备)

bash 复制代码
adb shell input keyevent KEYCODE_SYSRQ
# 或
adb shell screencap -p /sdcard/screen.png  # 更可靠的截图方式

(2)模拟通知栏(部分 ROM 支持)

bash 复制代码
# 方法1:使用 KEYCODE_HEADSETHOOK + 组合键(不保证通用)
adb shell input keyevent KEYCODE_HEADSETHOOK
# 方法2:使用 ADB 命令(需 Root)
adb shell am broadcast -a android.intent.action.EXPAND_STATUS_BAR

(3)模拟长按按键(需 input tap + 延迟)

bash 复制代码
# 模拟长按 Home 键(1秒)
adb shell input keyevent KEYCODE_HOME && sleep 1 && adb shell input keyevent KEYCODE_HOME

4. 完整按键代码表

参考 Android 官方文档:KeyEvent.java

或运行以下命令查看所有支持的按键:

bash 复制代码
adb shell dumpsys input
# 或
adb shell getevent -l  # 查看设备支持的原始事件(需 Root)

5. 注意事项

  1. 部分按键可能无效
    • 某些厂商 ROM(如小米、华为)可能屏蔽了部分按键(如 KEYCODE_MENUKEYCODE_SEARCH)。
  2. Android 版本差异
    • Android 10+ 移除了 KEYCODE_MENU,改用 KEYCODE_APP_SWITCH 替代最近任务键。
  3. 虚拟按键 vs 物理按键
    • KEYCODE_HOMEKEYCODE_BACK 是虚拟按键,KEYCODE_VOLUME_UP 是物理按键。
  4. 更可靠的替代方案
    • 如果 keyevent 无效,可以尝试 input tap(模拟点击坐标)或 adb shell am(发送广播)。

总结

需求 命令示例
Home 键 adb shell input keyevent KEYCODE_HOMEadb shell input keyevent 3
返回键 adb shell input keyevent KEYCODE_BACKadb shell input keyevent 4
删除键(Backspace) adb shell input keyevent KEYCODE_DELadb shell input keyevent 67
Delete 键 adb shell input keyevent KEYCODE_FORWARD_DELadb shell input keyevent 112
电源键 adb shell input keyevent KEYCODE_POWERadb shell input keyevent 26
截图 adb shell screencap -p /sdcard/screen.png(推荐)

如果某些按键无效,建议改用 input tap 模拟点击scrcpy 手动操作

相关推荐
肖永威5 小时前
MuMu模拟器使用入门实践指南:从ADB连接到Frida动态分析
python·adb·frida·mumu
color_leo15 小时前
虚拟机ubuntu用wifi adb 调试手机
ubuntu·adb·智能手机
维尔切15 小时前
MySQL 主从复制
linux·运维·数据库·mysql·adb
浅拾光º19 小时前
mysql重启,服务器计划重启,如何优雅地停止MySQL?
服务器·mysql·adb
mg66820 小时前
智能电视玩机攻略_开启设备隐藏ADB 自由安装第三方应用
adb·智能电视
珊瑚礁的猪猪侠20 小时前
ADB使用指南
python·adb·visual studio code
AIOT魔法师10 天前
修复Android studio的adb无法连接手机问题
adb·智能手机·android studio
gamers11 天前
rock linux 9 安装mysql 5.7.44
linux·mysql·adb
独行soc11 天前
2025年渗透测试面试题总结-67(题目+回答)
网络·python·安全·web安全·网络安全·adb·渗透测试