Android adb input 命令介紹

來源:https://blog.csdn.net/soslinken/article/details/49587497

input命令是用來向設備發送模擬操作的命令: 
因爲版本不同,input命令也有所不同 
以下爲Android 4.0的input命令:

usage:input text <string>
      input keyevent <key code number or name>
      input tap <x> <y>
      input swipe <x1> <y1> <x2> <y2>
  • 1
  • 2
  • 3
  • 4
  • 5

以下是Android 4.4+的input命令:

usage: input ...
       input text <string>
       input keyevent <key code number or name>
       input [touchscreen|touchpad|touchnavigation] tap <x> <y>
       input [touchscreen|touchpad|touchnavigation] swipe <x1> <y1> <x2> <y2> [duration(ms)]
       input trackball press
       input trackball roll <dx> <dy>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

明顯兩個版本的input命令是有差異的,在使用的時候一定要記得查詢清楚所使用的Android版本!


1、input text 
該命令主要是用於向獲得焦點的EditText控件輸入內容!

adb shell input text "hello,world"
  • 1

該方法只能對EditText輸入AscII碼的字符,對於UTF-8的字符是無法輸入的!(漢字是不要想用這個命令輸入的) 
關於某些程序希望實現到類似於按鍵精靈功能自動向文本框輸入漢字的功能,可以使用一個比較取巧的辦法。 
可以到github上參考https://github.com/senzhk/ADBKeyBoard~~(不要問我是怎麼知道的T_T)

2、input keyevent 
該命令主要是向系統發送一個按鍵指令,實現模擬用戶在鍵盤上的按鍵動作。

adb shell input keyevent 4
or
adb shell input keyevent "KEYCODE_BACK"
  • 1
  • 2
  • 3

下面附一個從網上扒到的 按鍵code 與 按鍵名的對應關係表

0 –> “KEYCODE_UNKNOWN” 
1 –> “KEYCODE_MENU” 
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 –> “TAG_LAST_KEYCODE” 
感謝http://blog.csdn.net/yicao821/article/details/7327953 博主提供!!666666666……

3、input [touchscreen|touchpad|touchnavigation] tap 
該命令是用於向設備[屏幕、觸摸板、導航鍵]發送一個點擊操作的指令。參數是X Y。一般設備都是屏幕……

adb shell input tap 100 100 
  • 1

屏幕位置座標的拾取,可以打開 設置-開發者選項-指針位置開關!打開之後就會有拾取的功能了哦!

4、input [touchscreen|touchpad|touchnavigation] swipe [duration(ms)] 
向設備發送一個滑動的指令,並且可以選擇設置滑動的時長。 
這個指令乍一看不就是個滑動嘛……233333……其實還有一個特殊的操作,長按。 
這個指令在4.4+的機器上,可以實現長按的哦!

//滑動
adb shell input swipe 100 100 200 200 300 //從 100 100 經歷300毫秒滑動到 200 200 
//長按
adb shell input swipe 100 100 100 100 1000 //在 100 100 位置長按 1000毫秒
  • 1
  • 2
  • 3
  • 4

看,這次就明白了,長按就是一種特殊的滑動,即位置不變的滑動哦!

5、input trackball press 
這個命令是模擬軌跡球發送點擊命令 
因爲現在手機設備上沒有軌跡球,然並卵……

6、input trackball roll 
這個命令是模擬軌跡球發送滾動命令 
同樣,然並卵……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章