PC通过ADB控制Android手机模拟点击,滑动,输入等事件(包括控制多台Android手机) |
您所在的位置:网站首页 › 怎么用触屏模拟鼠标滑动屏幕 › PC通过ADB控制Android手机模拟点击,滑动,输入等事件(包括控制多台Android手机) |
文章出自 http://blog.csdn.net/aoaoxiexie/article/details/53464716 可以通过如下ADB命令实现PC对Android手机的模拟输入,点击,滑动等事件,进而对Android手机的操作与控制。 1:adb input keyevent 这条命令模拟Android手机按下了event_code对应的按键。 event_code表如下: 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"
2:adb shell input tap 这条命令模拟Android手机在屏幕坐标(X,Y)处进行了点击操作。
3:adb shell input swipe 这条命令模拟Android手机从屏幕坐标(X1,Y1)滑动到坐标(X2,Y2)的操作。 注:如果PC要想同时控制多台Android手机,必须在adb 后面添加-s 例如:adb -s 13b6e4c4 shell input tap 400 400 表示对13b6e4c4这台Android手机进行在屏幕上(400,400)坐标位置进行模拟的点击事件。 获取Android手机的设备序列号如下图所示
示例代码: [plain] view plain copy package com.hdzb.adb; import java.io.IOException; public class TestControlAndroid { public static void main(String[] args) throws InterruptedException { try { Thread.sleep(1000); //testInputStr(); //testSwipe(); //testTap(); testTapForTwoAndroid(); } catch (Exception e3) { e3.printStackTrace(); } } /** * 两台手机点击一下 */ private static void testTapForTwoAndroid() { try { Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb -s 13b6e4c4 shell input tap 400 400 "); Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb -s 296ec3e2 shell input tap 400 400 "); } catch (Exception e) { e.printStackTrace(); } } /** * 控制手机点击一下 */ private static void testTap() { try { Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb shell input tap 400 400 "); Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } } /** * 控制手机滑动 */ private static void testSwipe() { try { Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb shell input swipe 800 800 100 100"); Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } } /** * 控制手机输入0-9 */ private static void testInputStr() { try { Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb shell input keyevent 7"); Thread.sleep(1000); Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb shell input keyevent 8"); Thread.sleep(1000); Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb shell input keyevent 9"); Thread.sleep(1000); Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb shell input keyevent 10"); Thread.sleep(1000); Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb shell input keyevent 11"); Thread.sleep(1000); Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb shell input keyevent 12"); Thread.sleep(1000); Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb shell input keyevent 13"); Thread.sleep(1000); Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb shell input keyevent 14"); Thread.sleep(1000); Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb shell input keyevent 15"); Thread.sleep(1000); Runtime.getRuntime() .exec("D:\\android\\adt-bundle-windows-x86\\sdk\\platform-tools\\adb shell input keyevent 16"); } catch (Exception e) { e.printStackTrace(); } } } |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |