【android测试】命令行向android手机发送事件

 

test.bat内容以下:android

adb shell am start -n com.tencent.news/com.tencent.news.activity.SplashActivity
::在x向坐标0000009五、y向坐标00000007的位置点击屏幕,并保持按下状态
CHOICE /T 5 /C yc /D y /n
adb shell sendevent /dev/input/event0 0003 0000 00000095
adb shell sendevent /dev/input/event0 0003 0001 00000007
adb shell sendevent /dev/input/event0 0001 014a 00000001
::保持y向坐标不变,沿00000055到00000010的x向路径横向滑动
adb shell sendevent /dev/input/event0 0003 0000 00000055
adb shell sendevent /dev/input/event0 0000 0000 00000000
::结束按下状态
adb shell sendevent /dev/input/event0 0001 014a 00000000
::发送一个菜单键值,调起菜单
adb shell input keyevent 1
::发送一个Back键值,收回菜单
adb shell input keyevent 4
::再发送一个Back键值
adb shell input keyevent 4
pause

 

帮助文档:shell

#在Galaxy Nexus手机上帮助文档以下:
C:\Users\beijing_zbs>adb shell
shell@maguro:/ $ input
input
Usage: input [<source>] <command> [<arg>...]

The sources are:
      trackball
      joystick
      touchnavigation
      mouse
      keyboard
      gamepad
      touchpad
      dpad
      gesture
      stylus
      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)

      
#在有些手机上帮助文档只有以下这些:
C:\Users\beijing_zbs>adb shell
shell@android:/ $ input
input
usage: input ...
       input text <string>
       input keyevent <key code number or name>
       input [touchscreen|touchpad] tap <x> <y>
       input [touchscreen|touchpad] swipe <x1> <y1> <x2> <y2>
       input trackball press
       input trackball roll <dx> <dy>

 

说明:code

1. keyevent指的是android对应的keycode,好比home键的keycode=3,back键的keycode=4.事件

而后使用的话比较简单,好比想模拟home按键:ip

adb shell input keyevent 3文档

请查阅上述文章,根据具体keycode编辑便可。input

 

2. 关于tap的话,他模拟的是touch屏幕的事件,只需给出x、y坐标便可。string

此x、y坐标对应的是真实的屏幕分辨率,因此要根据具体手机具体看,好比你想点击屏幕(x, y) = (250, 250)位置:it

adb shell input tap 250 250io

 

3. 关于swipe同tap是同样的,只是他是模拟滑动的事件,给出起点和终点的坐标便可。例如从屏幕(250, 250), 到屏幕(300, 300)即

adb shell input swipe 250 250 300 300

范例:

1,模拟输入文本信息:input text HelloWorld

2.模拟物理按键操做: input keyevent KEYCODE_VOLUME_DOWN

3.模拟点击操做:input tap 500 500

4.模拟滑动操做:input swipe 200 500  400 500

5.模拟轨迹球操做

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" 

相关文章
相关标签/搜索