通过adb操作手机UI

作者: PythonDeveloper | 来源:发表于2016-08-25 19:53 被阅读2004次

    通过adb操作手机UI并不常用,但在有的场景下会非常有用,比如测试自动化,访问在远端服务器上的手机等。

    发送keyevent和文本

    命令行

    adb shell input keyevent {key_code}
    adb shell input text {text}
    

    keyevent列表

    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”
    

    比如:按Home键:adb shell input keyevent KEYCODE_HOME

    滑动屏幕

    命令行

    # 从(x1, y1)滑动到(x2, y2)
    adb shell input touchscreen swipe {x1} {y1} {x2} {y2}
    

    点击屏幕

    命令行

    # 点击屏幕坐标(x, y)
    adb shell input touchscreen tap {x} {y}
    

    参考
    Sending Keyboard input via ADB to your Android device

    相关文章

      网友评论

        本文标题:通过adb操作手机UI

        本文链接:https://www.haomeiwen.com/subject/rtuasttx.html