zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Beginning Silverlight 4 in C#数据绑定和Silverlight List控件
    使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置)
    分布式事物:第一章:分布式事物简介
    Redis数据结构存储系统:第三章:Redis在项目中如何使用?
    Android “NetworkOnMainThreadException”出错原因及解决办法
    asp.net 运行时, 报控件不存在
    Only the original thread that created a view hierarchy can touch its views
    android模拟器打开时比较慢,Run As就找不到模拟器
    db2数据库还原
    去掉代码中自动生成的TODO Autogenerated method stub
  • 原文地址:https://www.cnblogs.com/hdk1993/p/6664736.html
Copyright © 2011-2022 走看看