Android adb input 命令介绍

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>

以下是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>

明显两个版本的input命令是有差异的,在使用的时候一定要记得查询清楚所使用的Android版本!


1、input text
该命令主要是用于向获得焦点的EditText控件输入内容!

adb shell input text "hello,world"

该方法只能对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"

下面附一个从网上扒到的 按键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 

屏幕位置坐标的拾取,可以打开 设置-开发者选项-指针位置开关!打开之后就会有拾取的功能了哦!

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毫秒

看,这次就明白了,长按就是一种特殊的滑动,即位置不变的滑动哦!

5、input trackball press
这个命令是模拟轨迹球发送点击命令
因为现在手机设备上没有轨迹球,然并卵……

6、input trackball roll
这个命令是模拟轨迹球发送滚动命令
同样,然并卵……

  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值