PC通过ADB控制Android手机模拟点击,滑动,输入等事件(包括控制多台Android手机)

您所在的位置:网站首页 怎么用触屏模拟鼠标滑动屏幕 PC通过ADB控制Android手机模拟点击,滑动,输入等事件(包括控制多台Android手机)

PC通过ADB控制Android手机模拟点击,滑动,输入等事件(包括控制多台Android手机)

2024-07-03 19:35:35| 来源: 网络整理| 查看: 265

文章出自  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();           }          }          }  


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭