android命令行模拟输入事件(文字、按键、触摸等)
前言
通过adbshellinput可以模拟android各种输入事件,比如文字、按键、触摸等等。
adbshellinput Usage:input[] [ ...] Thesourcesare: keyboard mouse joystick touchnavigation touchpad trackball dpad stylus gamepad touchscreen Thecommandsanddefaultsourcesare: text (Default:touchscreen) keyevent[--longpress] ...(Default:keyboard) tap (Default:touchscreen) swipe [duration(ms)](Default:touchscreen) press(Default:trackball) roll (Default:trackball)
基本用法
usage:input[text|keyevent]
inputtext
inputkeyevent
输入文字
列子:
adbshellinputtextsample-text
而包含字符可以使用引号包裹,其中%s代表空格。
adbshellinputtext"insert%syour%stext%shere"
模拟按键
通过adbshellinputkeyevent可以模拟按键,后面跟按键code。比如:
adbshellinputkeyevent82
所有按键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可以模拟触摸事件,参数是
adbshellinputtap5001450
滑动则可以通过swipe模拟,参数是
adbshellinputswipe1005001001450100
巧妙使用swipe也可以模拟长按事件:
adbshellinputswipe100500100500250
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。