前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >android命令行模拟输入事件(文字、按键、触摸等)

android命令行模拟输入事件(文字、按键、触摸等)

作者头像
砸漏
发布2020-11-04 09:58:51
3.4K0
发布2020-11-04 09:58:51
举报
文章被收录于专栏:恩蓝脚本

前言

通过adb shell input可以模拟android各种输入事件,比如文字、按键、触摸等等。

代码语言:javascript
复制
adb shell input
Usage: input [<source ] <command  [<arg ...]

The sources are:
  keyboard
  mouse
  joystick
  touchnavigation
  touchpad
  trackball
  dpad
  stylus
  gamepad
  touchscreen

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)

基本用法

usage: input [text|keyevent] input text <string input keyevent <event_code

输入文字

列子:

代码语言:javascript
复制
adb shell input text sample-text

而包含字符可以使用引号包裹,其中%s代表空格。

代码语言:javascript
复制
adb shell input text "insert%syour%stext%shere"

模拟按键

通过adb shell input keyevent可以模拟按键,后面跟按键code。比如:

代码语言:javascript
复制
adb shell input keyevent 82

所有按键code列表如下:

0 — “KEYCODE_0” 1 — “KEYCODE_SOFT_LEFT” 2 — “KEYCODE_SOFT_RIGHT” 3 — “KEYCODE_HOME” 4 — “KEYCODE_BACK” 5 — “KEYCODE_CALL” 6 — “KEYCODE_ENDCALL” 7 — “KEYCODE_0” 8 — “KEYCODE_1” 9 — “KEYCODE_2” 10 — “KEYCODE_3” 11 — “KEYCODE_4” 12 — “KEYCODE_5” 13 — “KEYCODE_6” 14 — “KEYCODE_7” 15 — “KEYCODE_8” 16 — “KEYCODE_9” 17 — “KEYCODE_STAR” 18 — “KEYCODE_POUND” 19 — “KEYCODE_DPAD_UP” 20 — “KEYCODE_DPAD_DOWN” 21 — “KEYCODE_DPAD_LEFT” 22 — “KEYCODE_DPAD_RIGHT” 23 — “KEYCODE_DPAD_CENTER” 24 — “KEYCODE_VOLUME_UP” 25 — “KEYCODE_VOLUME_DOWN” 26 — “KEYCODE_POWER” 27 — “KEYCODE_CAMERA” 28 — “KEYCODE_CLEAR” 29 — “KEYCODE_A” 30 — “KEYCODE_B” 31 — “KEYCODE_C” 32 — “KEYCODE_D” 33 — “KEYCODE_E” 34 — “KEYCODE_F” 35 — “KEYCODE_G” 36 — “KEYCODE_H” 37 — “KEYCODE_I” 38 — “KEYCODE_J” 39 — “KEYCODE_K” 40 — “KEYCODE_L” 41 — “KEYCODE_M” 42 — “KEYCODE_N” 43 — “KEYCODE_O” 44 — “KEYCODE_P” 45 — “KEYCODE_Q” 46 — “KEYCODE_R” 47 — “KEYCODE_S” 48 — “KEYCODE_T” 49 — “KEYCODE_U” 50 — “KEYCODE_V” 51 — “KEYCODE_W” 52 — “KEYCODE_X” 53 — “KEYCODE_Y” 54 — “KEYCODE_Z” 55 — “KEYCODE_COMMA” 56 — “KEYCODE_PERIOD” 57 — “KEYCODE_ALT_LEFT” 58 — “KEYCODE_ALT_RIGHT” 59 — “KEYCODE_SHIFT_LEFT” 60 — “KEYCODE_SHIFT_RIGHT” 61 — “KEYCODE_TAB” 62 — “KEYCODE_SPACE” 63 — “KEYCODE_SYM” 64 — “KEYCODE_EXPLORER” 65 — “KEYCODE_ENVELOPE” 66 — “KEYCODE_ENTER” 67 — “KEYCODE_DEL” 68 — “KEYCODE_GRAVE” 69 — “KEYCODE_MINUS” 70 — “KEYCODE_EQUALS” 71 — “KEYCODE_LEFT_BRACKET” 72 — “KEYCODE_RIGHT_BRACKET” 73 — “KEYCODE_BACKSLASH” 74 — “KEYCODE_SEMICOLON” 75 — “KEYCODE_APOSTROPHE” 76 — “KEYCODE_SLASH” 77 — “KEYCODE_AT” 78 — “KEYCODE_NUM” 79 — “KEYCODE_HEADSETHOOK” 80 — “KEYCODE_FOCUS” 81 — “KEYCODE_PLUS” 82 — “KEYCODE_MENU” 83 — “KEYCODE_NOTIFICATION” 84 — “KEYCODE_SEARCH” 85 — “KEYCODE_MEDIA_PLAY_PAUSE” 86 — “KEYCODE_MEDIA_STOP” 87 — “KEYCODE_MEDIA_NEXT” 88 — “KEYCODE_MEDIA_PREVIOUS” 89 — “KEYCODE_MEDIA_REWIND” 90 — “KEYCODE_MEDIA_FAST_FORWARD” 91 — “KEYCODE_MUTE” 92 — “KEYCODE_PAGE_UP” 93 — “KEYCODE_PAGE_DOWN” 94 — “KEYCODE_PICTSYMBOLS” … 122 — “KEYCODE_MOVE_HOME” 123 — “KEYCODE_MOVE_END”

最新的可以参考官方文档:https://developer.android.com/reference/android/view/KeyEvent.html

模拟触摸

通过 tap可以模拟触摸事件,参数是<x, y

代码语言:javascript
复制
adb shell input tap 500 1450

滑动则可以通过swipe模拟,参数是<x1 y1 x2 y2 time

代码语言:javascript
复制
adb shell input swipe 100 500 100 1450 100

巧妙使用swipe也可以模拟长按事件:

代码语言:javascript
复制
adb shell input swipe 100 500 100 500 250

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档