目录
一、adb是什么?
二、adb有什么作用
三、如何启用adb调试
四 如何判断设备连接正常
五 如何下载安装adb
1、adb下载地址:
2、按装步骤
六、adb命令大全
1.查看设备
2.Adb应用管理
3.安装APK
4.卸载APK
5.查看设备信息
5.使用 Monkey 进行压力测试
6.日志查看
一、adb是什么?
adb即Android调试桥(Android Debug Bridge) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:
- **客户端**:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
- **守护程序 (adbd)** :用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
- **服务器**:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。
adb 包含在 Android SDK 平台工具软件包中。您可以使用 [SDK 管理器](更新 IDE 和 SDK 工具 | Android 开发者 | Android Developers)下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/ 下。
二、adb有什么作用
- 在调试设备上运行Shell命令
- 操作设备的文件系统
- 打印调试信息
- 安装卸载apk文件
- 等等各种作用
三、如何启用adb调试
通过USB链接到设备
如要在通过 USB 连接的设备上使用 adb,您必须在设备的系统设置中启用 **USB 调试**(位于**开发者选项**下)。
在搭载 Android 4.2 及更高版本的设备上,“开发者选项”屏幕默认情况下处于隐藏状态。如需显示开发者选项,请依次转到**设置 > 关于手机**,然后点按 **build 号**七次。返回上一屏幕,在底部可以找到**开发者选项**。
在某些设备上,“开发者选项”所在的位置或名称可能有所不同。
确定设备正常连接到电脑,在命令窗口运行`adb devices`,没有意外的话会打印出当前链接设备的名称及状态(`device`表示链接正常)。
- 通过 Wi-Fi 连接到设备
Android 11 及更高版本 :
- 首先更新到最新版本的
- 在设备上启用[开发者选项]
- 启用**无线调试**选项。
- 在询问**要允许通过此网络进行无线调试吗?** 的对话框中,点击**允许**。
- 选择**使用配对码配对设备**。记下设备上显示的配对码、IP 地址和端口号。
- 在工作站上,打开一个终端并导航到 `android_sdk/platform-tools`。
- 运行 `adb pair ipaddr:port`。 使用第 5 步中的 IP 地址和端口号。
- 当系统提示时,输入您在第 5 步中获得的配对码。系统会显示一条消息,表明您的设备已成功配对。
- 运行 `adb connect ipaddr:port`。使用**无线调试**下的 IP 地址和端口。
Android 10及更低版本:
一般情况下,adb 通过 USB 与设备进行通信,但您也可以在以下情况下通过 WLAN 使用 adb:
- 将 Android 设备和 adb 主机连接到这两者都可以访问的同一 WLAN 网络。
- 使用 USB 线将设备连接到主机。
- 设置目标设备以监听端口 5555 上的 TCP/IP 连接。
adb tcpip 5555
- 拔掉连接目标设备的 USB 线。
- 找到 Android 设备的 IP 地址。可以在**设置** > **关于平板电脑** (或**关于手机**)> **状态** > **IP 地址**下找到 IP 地址。
- 通过 IP 地址连接到设备。
adb connect device_ip_address:5555
$ adb devices
List of devices attached
device_ip_address:5555 device
如果adb 连接断开:
- 确保两组设备在统一局域网环境下;
- 再次通过`adb connect`重新连接;
- 如果还不能正常连接,使用`adb kill-server adb start-server` 重置adb主机,再次连接。
四 如何判断设备连接正常
使用`adb devices[-l]`命令
会打印出当前连接到的所有设备信息:
- 序列号:由adb创建的字符串,用户通过端口号唯一标识设备;
- 设备状态:
`offline`:设备未连接到adb 或者没有相应;
`device`: 设备已经连接到adb服务器;
`no deivce`:未连接到任何设备。
五 如何下载安装adb
1、adb下载地址:
Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Mac版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Linux版本:https://dl.google.com/android/repository/platform-tools-latest-linux.zip
Linux 可以直接执行 sudo apt install adb
2、按装步骤
如图所示:
1、键盘按键:win + r
2、打开“系统属性”窗口
3、“高级”→“环境变量”→“系统变量”
4、找到“Path”双击,新建,复制adb路径进去,点击“确定”按钮,添加成功
如图所示:
1、键盘按键:win + r
2、输入cmd,回车 3、输入adb或者adb --version(注意是两个“-”)
如图所示:
> 代表安装成功
六、adb命令大全
1.查看设备
adb devices
List of devices attached
ba709211 device
192.168.31.12:6666 device
adb -s 192.168.31.12:6666 shell wm size //指定查看192.168.31.12:6666设备的屏幕分辨率
Physical size: 1080x2400 //当前设备分辨率为1080x2400
单独给某个设备安装应用
adb -s 192.168.31.12:6666 install a.apk
启动adb服务:adb start-server
关闭adb服务:adb kill-server
查看adb版本:
adb version
Android Debug Bridge version 1.0.31
2.Adb应用管理
查看测试机所有包名:
adb shell pm list package
package:com.miui.screenrecorder
package:com.android.cts.priv.ctsshim
package:com.qualcomm.qti.qms.service.telemetry
package:com.miui.contentextension
package:com.hpbr.bosszhipin
package:com.qualcomm.qti.qcolor
package:com.android.internal.display.cutout.emulation.corner
package:com.android.internal.display.cutout.emulation.double
package:com.android.providers.telephony
package:com.android.dynsystem
package:com.miui.powerkeeper
package:com.goodix.fingerprint
可在adb shell pm list package后面加参数,进行过滤查看:
查看第三方软件包名
adb shell pm list package -3
package:com.miui.screenrecorder
package:com.hpbr.bosszhipin
package:com.android.bankabc
package:com.tmri.app.main
package:com.sankuai.meituan
模糊查找应用
adb shell pm list packages hevc //查找带有hevc字符的应用
package:com.hevc.hevcandroid
也可以使用grep或者find来查找
grep命令(可能出现命令不支持)
adb shell pm list packages | grep hevc
‘grep’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
find命令,注意find后面需要用“”来引出查找的关键字符
adb shell pm list packages | find “hevc”
package:com.hevc.hevcandroid
3.安装APK
/安装一个应用
adb install D:\工作文件\Cccccccc-v1.1.9.apk
327 KB/s (25896185 bytes in 77.157s)
Success
4.卸载APK
卸载应用
adb uninstall com.hevc.hevcandroid
adb uninstall -k com.hevc.hevcandroid //-k参数可选,代表卸载应用但保留数据和缓存目录
Success
5.查看设备信息
查看测试机cpu信息
adb shell dumpsys cpuinfo
CPU usage from 109969ms to 3541ms ago (2021-12-21 23:02:32.737 to 2021-12-21 23:06:03.127) with 50% awake:
18% 884/surfaceflinger: 8.4% user + 10% kernel / faults: 364 minor 1 major
15% 27200/com.miui.home: 11% user + 4.1% kernel / faults: 19211 minor
查看测试机内存信息
adb shell dumpsys meminfo
Applications Memory Usage (in Kilobytes):
Uptime: 175868513 Realtime: 362111869
Total PSS by process:
513,739K: com.tencent.mm (pid 25157 / activities)
311,194K: com.miui.home (pid 27200 / activities)
246,700K: system (pid 1795)
查看测试机所有包信息
adb shell dumpsys activity
ACTIVITY MANAGER SETTINGS (dumpsys activity settings) activity_manager_constants:
max_cached_processes=60
background_settle_time=60000
fgservice_min_shown_time=2000
fgservice_min_report_time=3000
fgservice_screen_on_before_time=10
查看设备型号
adb shell getprop ro.product.model
Redmi K30 5G
查看电池状态
adb shell dumpsys battery
Current Battery Service state:
AC powered: false
USB powered: false
Wireless powered: false
Max charging current: 0
Max charging voltage: 0
Charge counter: 2943720
status: 3
health: 2
present: true
level: 69 //代表当前电量
scale: 100 //代表最大电量
voltage: 4021
temperature: 314
technology: Li-poly
查看设备分辨率
adb shell wm size
Physical size: 1080x2400
查看屏幕密度
adb shell wm density
Physical density: 440
查看屏参数
adb shell dumpsys window displays
WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays)
Display: mDisplayId=0
init=1080x2400 440dpi cur=1080x2400 app=1080x2261 rng=1080x941-2305x2261
deferred=false mLayoutNeeded=false mTouchExcludeRegion=SkRegion((0,0,1080,2400))
mFreeFormWindowShowed=false
查看android id
adb shell settings get secure android_id
5adc06ce10522b40
查看android 系统版本
adb shell getprop ro.build.version.release
10
修改设置
注:修改设置之后,运行恢复命令有可能显示仍然不太正常,可以运行 adb reboot 重启设备,或手动重启。
修改分辨率
adb shell wm size 480x1024
恢复原分辨率
adb shell wm size reset
修改屏幕密度
adb shell wm density 160
adb shell wm density reset
5.使用 Monkey 进行压力测试
monkey是android自带系统自带的程序,可以生成伪随机用户事件来模拟单击、触摸、手势等操作,可以对正在开发中的程序进行随机压力测试。
简单用法
- 命令,表示向 com.tencent.mm 程序发送 500 个伪随机事件,并且将日志指定位置保存
adb shell monkey -p com.tencent.mm -v 500 > 日志路径.txt -v 是提升日志级别,最高可加三个-v
bash arg: -p
bash arg: com.tencent.mm
bash arg: -v
bash arg: 500
args: [-p, com.tencent.mm, -v, 500]
arg: “-p”
arg: “com.tencent.mm”
arg: “-v”
arg: “500”
data=“com.tencent.mm”
monkey多种参数代表的含义
举例一个monkey操作
adb shell wm density 160
adb shell wm density reset
- 命令,表示向 com.tencent.mm 程序发送 500 个伪随机事件,并且将日志指定位置保存
adb shell monkey -p com.tencent.mm -v 500 > 日志路径.txt -v 是提升日志级别,最高可加三个-v
bash arg: -p
bash arg: com.tencent.mm
bash arg: -v
bash arg: 500
args: [-p, com.tencent.mm, -v, 500]
arg: “-p”
arg: “com.tencent.mm”
arg: “-v”
arg: “500”
data=“com.tencent.mm”
- 命令,向腾讯微信发送500次随机事件,每次事件间隔为300毫秒。其中设定触屏的事件占比为50%。
adb shell monkey --throttle 300 --pct-touch 50 -p com.tencent.mm 500
bash arg: --throttle
bash arg: 300
bash arg: --pct-touch
bash arg: 50
bash arg: -p
bash arg: com.tencent.mm
bash arg: 500
6.日志查看
日志查看 控制台直接打印
- 命令,没有添加任何过滤,代表打印所有日志,测试意义不大
adb logcat
指定打印某个应用的日志
adb shell pm list packages tenc //模糊查询带有tenc字符的应用程序
package:com.tencent.mm
package:com.tencent.qqlive
package:com.tencent.mobileqq
package:com.tencent.soter.soterserver
- 使用find或者grep来筛选应用日志,这里我拿微信来测试打印日志
adb logcat | grep com.tencent.mm
adb logcat | find “com.tencent.mm” //find后面需要加上“”引号
将日志导出到指定的路径
adb logcat > D:\log.txt
原文链接:https://blog.csdn.net/weixin_55018452/article/details/121992202
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)