• Android adb 模拟滑动 按键 点击事件


    模拟事件全部是通过input命令来实现的,首先看一下input命令的使用: 

    usage: input ...

           input text <string>
           input keyevent <key code number or name>
           input tap <x> <y>
           input swipe <x1> <y1> <x2> <y2>

    1. keyevent指的是Android对应的keycode,比如home键的keycode=3,back键的keycode=4.

    具体请查阅 <android keycode详解>

    KEYCODE_UNKNOWN=0;

    KEYCODE_SOFT_LEFT=1;

    KEYCODE_SOFT_RIGHT=2;

    KEYCODE_HOME=3;

    KEYCODE_BACK=4;

    KEYCODE_CALL=5;

    KEYCODE_ENDCALL=6;

    KEYCODE_0=7;

    KEYCODE_1=8;

    KEYCODE_2=9;

    KEYCODE_3=10;

    KEYCODE_4=11;

    KEYCODE_5=12;

    KEYCODE_6=13;

    KEYCODE_7=14;

    KEYCODE_8=15;

    KEYCODE_9=16;

    KEYCODE_STAR=17;

    KEYCODE_POUND=18;

    KEYCODE_DPAD_UP=19;

    KEYCODE_DPAD_DOWN=20;

    KEYCODE_DPAD_LEFT=21;

    KEYCODE_DPAD_RIGHT=22;

    KEYCODE_DPAD_CENTER=23;

    KEYCODE_VOLUME_UP=24;

    KEYCODE_VOLUME_DOWN=25;

    KEYCODE_POWER=26;

    KEYCODE_CAMERA=27;

    KEYCODE_CLEAR=28;

    KEYCODE_A=29;

    KEYCODE_B=30;

    KEYCODE_C=31;

    KEYCODE_D=32;

    KEYCODE_E=33;

    KEYCODE_F=34;

    KEYCODE_G=35;

    KEYCODE_H=36;

    KEYCODE_I=37;

    KEYCODE_J=38;

    KEYCODE_K=39;

    KEYCODE_L=40;

    KEYCODE_M=41;

    KEYCODE_N=42;

    KEYCODE_O=43;

    KEYCODE_P=44;

    KEYCODE_Q=45;

    KEYCODE_R=46;

    KEYCODE_S=47;

    KEYCODE_T=48;

    KEYCODE_U=49;

    KEYCODE_V=50;

    KEYCODE_W=51;

    KEYCODE_X=52;

    KEYCODE_Y=53;

    KEYCODE_Z=54;

    KEYCODE_COMMA=55;

    KEYCODE_PERIOD=56;

    KEYCODE_ALT_LEFT=57;

    KEYCODE_ALT_RIGHT=58;

    KEYCODE_SHIFT_LEFT=59;

    KEYCODE_SHIFT_RIGHT=60;

    KEYCODE_TAB=61;

    KEYCODE_SPACE=62;

    KEYCODE_SYM=63;

    KEYCODE_EXPLORER=64;

    KEYCODE_ENVELOPE=65;

    KEYCODE_ENTER=66;

    KEYCODE_DEL=67;

    KEYCODE_GRAVE=68;

    KEYCODE_MINUS=69;

    KEYCODE_EQUALS=70;

    KEYCODE_LEFT_BRACKET=71;

    KEYCODE_RIGHT_BRACKET=72;

    KEYCODE_BACKSLASH=73;

    KEYCODE_SEMICOLON=74;

    KEYCODE_APOSTROPHE=75;

    KEYCODE_SLASH=76;

    KEYCODE_AT=77;

    KEYCODE_NUM=78;

    KEYCODE_HEADSETHOOK=79;

    KEYCODE_FOCUS=80;//*Camera*focus

    KEYCODE_PLUS=81;

    KEYCODE_MENU=82;

    KEYCODE_NOTIFICATION=83;

    KEYCODE_SEARCH=84;

    KEYCODE_MEDIA_PLAY_PAUSE=85;

    KEYCODE_MEDIA_STOP=86;

    KEYCODE_MEDIA_NEXT=87;

    KEYCODE_MEDIA_PREVIOUS=88;

    KEYCODE_MEDIA_REWIND=89;

    KEYCODE_MEDIA_FAST_FORWARD=90;

    KEYCODE_MUTE=91;

    然后使用的话比较简单,比如想模拟home按键:

    adb shell input keyevent 3

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

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

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

    adb shell input tap 250 250

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

    adb shell input swipe 250 250 300 300

  • 相关阅读:
    SSM框架整合常见错误
    4楼B座--内心的梦想,需要我们用心去实现
    打鸡血的废话
    聆听小故事
    php algorithm
    面试笔试常考的mysql 数据库操作group by
    linux mysqli extension is missing
    模仿与创新
    聊天室刷屏的简单原理实现
    程序员迷茫的未来
  • 原文地址:https://www.cnblogs.com/hdk1993/p/6664736.html
Copyright © 2020-2023  润新知