什么是 ADB 调试工具

什么是 ADB 调试工具Posted on Wed, 25 Dec 2024 11:00:41 +0800 by LiangMingJian

概述示例:使用 Adb 模拟屏幕点击1.获取屏幕事件(event)的宽高2.计算比例3.获取点击坐标4.模拟按键什么是 ADB 调试工具概述示例:使用 Adb 模拟屏幕点击1.获取屏幕事件(event)的宽高2.计算比例3.获取点击坐标4.模拟按键概述 #Adb (Android 调试桥)是一种功能多样的命令行工具,可让您与设备进行通信。此外,Adb 命令还可用于执行各种设备操作。

Adb 通常会随 Android SDK 一同安装,常见于 SDK\Android\platform-tools 内。下面是一些常用的 Adb 命令。

# 环境 Huawei TRT-AL00A

adb devices # 设备

# 获取日志

adb logcat

adb shell wm size # 长宽

adb shell getevent -p # 监听事件

adb shell # shell

>>> HWTRT-Q:/ $ getevent /dev/input/event4 # 按键事件

>>> HWTRT-Q:/ $ exit

adb shell getevent /dev/input/event4 # 按键事件

adb shell dumpsys # 获取当前运行的服务

adb shell dumpsys battery # 获取设备电池信息

adb shell dumpsys cpuinfo

adb shell dumpsys meminfo

# 要获取具体应用的内存信息,可加上包名

adb shell dumpsys meminfo PACKAGE_NAME

# 获取某个包的信息:

adb shell dumpsys package PACKAGE_NAME

示例:使用 Adb 模拟屏幕点击 #1.获取屏幕事件(event)的宽高 #adb shell

# 进入 shell 模式

>>> HWTRT-Q:/ $ getevent -p

# 获取所有输入事件信息,找到宽(0035)和高(0036)这两个属性,这代表 event 中的宽高

>>> 0035 : value 0, min 0, max 719, fuzz 0, flat 0, resolution 0

>>> 0036 : value 0, min 0, max 1279, fuzz 0, flat 0, resolution 0

# 显然这里 719 X 1279 为事件宽高

# 获取到事件宽高的文件位置

add device 3: /dev/input/event4

2.计算比例 #rateW = 720(手机屏幕的宽) / 719(event里0035的max) = 0.99

rateH = 1280(手机屏幕的高) / 1279(event里0036的max) = 0.99

# 理论上大部分手机都不需要换算

3.获取点击坐标 ## 在 shell 模式下输入

>>> getevent /dev/input/event4

# 监控点击输入,关注 0035 与 0036 两个属性,然后换算到屏幕坐标

>>> 0003 0035 00000264

>>> 0003 0036 00000217

>>> 0003 0035 000001cb

>>> 0003 0036 0000049b

# 这里注意 0035、0036 的属性都是 16 进制需要换算为 10 进制 0x264=612 0x217=535

# screenW = width*rateW

# screenH = height*rateH

# 获得屏幕坐标(screenW,screenH)

4.模拟按键 #>>> input tap 612 535

# 点击(612,535)这个位置

参考文件1: adb @Android Studio用户指南