andriod平台下开启开发者模式后,电脑端通过adb shell来控制手机点击触屏、滑动等操作。
adb下载地址:
Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Mac版本:https://dl.google.com/android/repository/platform-tools-latest-darwin.zip
Linux版本:https://dl.google.com/android/repository/platform-tools-latest-linux.zip
配置环境变量
按键windows+r打开运行,输入sysdm.cpl,回车。
高级》环境变量》系统变量》path
将adb的存放路径添加进path中
两次确定之后在重新打开命令行进行校验是否安装成功
手机连接电脑USB后执行adb devices 查看手机连接状态(手机端要开启开发者模式)
查询已连接设备/模拟器:adb devices
此处连接手机,需要手机在开发者模式开启USB调试功能。顺便也开启模拟按键功能,后面会用到。
该命令经常出现以下问题:
offline —— 表示设备未连接成功或无响应;
device —— 设备已连接;
no device —— 没有设备/模拟器连接;
List of devices attached 设备/模拟器未连接到 adb 或无响应
adb模拟按键操作
1.模拟文本输入操作
## 模拟输入abc
adb shell input text abc
2.通过键值模拟按键操作
## 模拟按back键
adb shell input keyevent 4
## 或者
adb shell input keyevent KEYCODE_BACK
3.通过坐标模拟点击操作
## 点击横坐标300,纵坐标500的点
adb shell input tap 300 500
4.通过坐标模拟滑动操作
## 从(200,300)的点划到(500,300)的点,滑动时间100ms
adb shell input swipe 200 300 500 300 100
5.通过坐标模拟拖动操作
## 从(100,1220)的点拖动到(500,620)的点,滑动时间2000ms
adb shell input draganddrop 100 1220 500 620 2000
6.通过坐标模拟长按滑动操作(注意与滑动操作的区别)
按住不放,从(200,300)的点划到(201,301)的点,滑动时间2000ms,由于划动距离短,时间长,在一个图标之内则主观显示为长按操作
可以将游戏背包的物品拖动,扔到仓库。
adb shell input swipe 200 300 201 301 2000
7.模拟实体键长按操作
通过 getevent & 获取实体键键值
/dev/input/event4: 0001 0074 00000001
/dev/input/event4: 0000 0000 00000000
/dev/input/event4: 0001 0074 00000000
/dev/input/event4: 0000 0000 00000000
0074为电源键键值,转换为十进制为116,编写如下脚本
sendevent /dev/input/event4 1 116 1
sendevent /dev/input/event4 0 0 0
sleep 4
sendevent /dev/input/event4 1 116 0
sendevent /dev/input/event4 0 0 0
8.通过坐标/键值模拟同时按下两个键,用and连接
## 电源键亮屏并滑动解锁
adb shell input keyevent KEYCODE_POWER and KEYCODE_MENU
android adb shell 常用命令
android adb shell官方命令(英文)https://adbshell.com/
1.模拟点击
adb shell input tap 100 100
2.滑动
adb shell input swipe x1 y1 x2 y2
adb input touchscreen swipe x1 y1 x2 y2 100
adb shell input swipe 100 100 400 100 300 #左往右
adb shell input swipe 400 100 100 100 300 #右往左
adb shell input swipe 100 100 100 400 300 #上往下
adb shell input swipe 100 400 100 100 300 #下往上
adb shell input swipe 100 100 400 400 300 #上往下斜
adb shell input swipe 400 400 100 100 300 #下往上斜
3.长按
adb shell input swipe 100 100 100 100 1000 //在 100 100 位置长按 1000毫秒
adb shell input swipe 367 469 367 469 800
4.打印所有包名
adb shell pm list packages
➜ ~ adb shell pm list packages
package:com.huawei.floatMms
package:com.android.defcontainer
package:com.tencent.mm
5.打印制定包的apk路径
adb shell pm path com.android.phone
➜ ~ adb shell pm path com.huawei.android.launcher
package:/system/app/HwLauncher6.apk
6.删除制定包
adb shell pm clear com.test.abc
7.截图
adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png #下载到本地
8.获取被点击的位置信息
adb shell getevent
>
/dev/input/event0 3 39 3e1
/dev/input/event0 1 14a 1
/dev/input/event0 1 145 1
/dev/input/event0 3 35 406 //x坐标
/dev/input/event0 3 54 1083 //y坐标
/dev/input/event0 0 0 0
/dev/input/event0 3 39 ffffffff
/dev/input/event0 1 14a 0
/dev/input/event0 1 145 0
/dev/input/event0 0 0
getevent -l -c 16
输出所有event设备的基本信息
add device 1: /dev/input/event2
name: "hi6421_on"
could not get driver version for /dev/input/mouse0, Not a typewriter
add device 2: /dev/input/event4
name: "huawei,touchscreen"
add device 3: /dev/input/event0
name: "mhl_rcp_dev"
could not get driver version for /dev/input/mice, Not a typewriter
add device 4: /dev/input/event1
name: "hisi_gpio_key.14"
add device 5: /dev/input/event3
name: "hi3630_hi6401_CARD Headset Jack"
getevent -c 10 //输出10条信息后退出
getevent -l //将type、code、value以对应的常量名称显示
9.打开对应的activity
adb shell am start -n {包(package)名}/{包名}.{活动(activity)名称}
adb shell am start com.songheng.eastnews/com.oa.eastfirst.activity.WelcomeActivity
10.获得当前活动窗口的信息,包名以及活动窗体
adb shell dumpsys window windows | grep mCurrent
11.包名管理命令,获得对应包名的对应apk路径
adb shell pm path com.migu.lobby
12.使用dumpsys命令可以查看Android手机当前正在运行的Activity
adb shell dumpsys activity activities | findstr "Run"
13.使用 uiautomator dump 获取app上的页面元素
adb shell uiautomator dump /data/local/tmp/uidump.xml
adb shell uiautomator dump /sdcard/dump.xml
14.下载文件
adb pull /sdcard/demo.mp4
15.上传文件
adb push test.apk /sdcard
16.息屏
adb shell input keyevent 26
17.keyevent
adb shell input keyevent 20 #向下
adb shell input keyevent 4 #返回
adb shell input keyevent 3 #Home
adb shell input keyevent 6 #挂机
adb shell input keyevent 84 #搜索
adb shell input keyevent 26 #电源
adb shell input keyevent 24 #音量+
adb shell input keyevent 25 #音量-
18.输入框输入
adb shell input text "ANDROID"
1
19.利用无线来查看adb shell
> adb tcpip 5555
连接:
> adb connect IP:5555
20.查看所有已经连接上的设备
adb devices
21.安装卸载
adb install <apk文件路径>
adb install -r <apk文件路径> 通过install命令来安装apk文件,-r参数可以重新安装某个应用并保留应用数据
adb install -r ~/chrome.apk
卸载应用:
adb uninstall <软件名>
adb uninstall -k < 软件名> 如果加 -k 参数,为卸载软件但是保留配置和缓存文件
adb uninstall com.android.chrome
22.关机命令
adb shell
su
reboot -p
网友回复