Android adb input 命令总结

1. 发送键盘事件:

命令格式1:adb shell input keyevent “value”

其中value以及对应的key code如下表所列:

KeyEvent Value      KEYCODE     Comment

0       KEYCODE_UNKNOWN    

1       KEYCODE_MENU     在SDK2.1的模拟器中命令失效,sendevent命令可行

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        

命令格式2:adb shell sendevent [device] [type] [code] [value]

如: adb shell sendevent /dev/input/event0 1 229 1 代表按下按下menu键

adb shell sendevent /dev/input/event0 1 229 0 代表按下松开menu键

说明:上述的命令需组合使用

完整命令:

adb shell sendevent /dev/input/event4 1 139 1;adb shell sendevent /dev/input/event4 1 330 1;adb shell sendevent /dev/input/event4 0 0 0;adb shell sendevent /dev/input/event4 1 139 0;adb shell sendevent /dev/input/event4 1 330 0;adb shell sendevent /dev/input/event4 0 0 0

其中数字是根据adb shell getevent 手动点击menu键获得到的

另外所知道的命令如下:

Key Name CODE

MENU 229

HOME 102

BACK (back button) 158

CALL (call button) 231

END (end call button) 107

2. 发送鼠标事件(Touch):

命令格式:adb shell sendevent [device] [type] [code] [value]

sendevent /dev/input/eventX type code value

/dev/input/eventX 对应一个event设备,可以通过getevent获得可用的event设备

type, code, value的定义可参看kernel/include/linux/input.h

情况1:在某坐标点上touch

如在屏幕的x坐标为40,y坐标为210的点上touch一下,命令如下

adb shell sendevent /dev/input/event0 3 0 40

adb shell sendevent /dev/input/event0 3 1 210

adb shell sendevent /dev/input/event0 1 330 1 //touch

adb shell sendevent /dev/input/event0 0 0 0 //it must have

adb shell sendevent /dev/input/event0 1 330 0 //untouch

adb shell sendevent /dev/input/event0 0 0 0 //it must have

注:以上六组命令必须配合使用,缺一不可

情况2:模拟滑动轨迹(可下载并采用aPaint软件进行试验)

如下例是在aPaint软件上画出一条开始于(100,200),止于(108,200)的水平直线

adb shell sendevent /dev/input/event0 3 0 100 //start from point (100,200)

adb shell sendevent /dev/input/event0 3 1 200

adb shell sendevent /dev/input/event0 1 330 1 //touch

adb shell sendevent /dev/input/event0 0 0 0

adb shell sendevent /dev/input/event0 3 0 101 //step to point (101,200)

adb shell sendevent /dev/input/event0 0 0 0

…………………… //must list each step, here just skip

adb shell sendevent /dev/input/event0 3 0 108 //end point(108,200)

adb shell sendevent /dev/input/event0 0 0 0

adb shell sendevent /dev/input/event0 1 330 0 //untouch

adb shell sendevent /dev/input/event0 0 0 0

实例如下:

sendevent /dev/input/event4 3 0 258;sendevent /dev/input/event4 3 1 285;sendevent /dev/input/event4 1 330 1;sendevent /dev/input/event4 0 0 0; sendevent /dev/input/event4 1 330 0;sendevent /dev/input/event4 0 0 0

展讯平台点击坐标点(380,870)事件:

adb shell "sendevent dev/input/event4 1 330 1;sendevent dev/input/event4 3 48  20;sendevent dev/input/event4 3 53  380;sendevent dev/input/event4 3 54  870;sendevent dev/input/event4 0 2   0;sendevent dev/input/event4 0 0   0;sendevent dev/input/event4 3 48  20;sendevent dev/input/event4 3 53  380;sendevent dev/input/event4 3 54  870;sendevent dev/input/event4 0 2   0;sendevent dev/input/event4 0 0   0;sendevent dev/input/event4 1 330 0;sendevent dev/input/event4 0 2   0;sendevent dev/input/event4 0 0   0"

adb shell "sendevent dev/input/event4 1 330 1;sendevent dev/input/event4 3 48  20;sendevent dev/input/event4 3 53  380;sendevent dev/input/event4 3 54  870;sendevent dev/input/event4 0 2   0;sendevent dev/input/event4 0 0   0;sendevent dev/input/event4 1 330 0;sendevent dev/input/event4 0 0   0"

3.input text

主要是用于向获得焦点的EditText控件输入内容

adb shell input text "hello,world"

4.input [touchscreen|touchpad|touchnavigation] tap

该命令是用于向设备[屏幕、触摸板、导航键]发送一个点击操作的指令。参数是X Y。一般设备都是屏幕

adb shell input tap 100 100

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

6、input trackball press

这个命令是模拟轨迹球发送点击命令

7、input trackball roll

这个命令是模拟轨迹球发送滚动命令

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值