一、ADB 简介
ADB(Android Debug Bridge) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。该工具作为一个客户端-服务器程序。
-
客户端,该组件发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
-
后台程序,该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。
-
服务器,该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。
adb 工具路径
android_sdk/platform-tools/
二、ADB的工作方式
1. 连接 Android 模拟器
ADB与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。然后,服务器设置与所有运行的Android模拟器/Android 设备连接。
2.USB 连接 Android 机器
Settings >About phone>连续点击 Build number七次
![]()
验证adb 是否连接成功
3.WLAN 连接 Android 机器
此方法不常用,暂时忽略
三、ADB常用命令
1. 安装卸载apk
adb install apk路径
![]()
安装apk
adb unstall apk包名
![]()
查询包名,并根据包名卸载apk
2. 导入/导出 文件到手机中
adb pull remote local
![]()
将手机Setting.apk 导出到电脑D盘
adb push local remote
![]()
将电脑D 盘的文件 导入到手机/system/priv-app/Settings目录下
3.开启、停止ADB 服务
adb start-server
adb kill-server
![]()
ADB 服务的开启与停止
4. 使用ADB 命令截屏、录像
adb shell screencap 文件保存路径
![]()
使用adb 命令截图
adb shell screenrecord 文件保存路径
![]()
使用adb 命令录屏录像
按 Control + C 停止屏幕录制,否则,到三分钟或 --time-limit 设置的时间限制时,录制将自动停止。
screenrecord 部分参数
| 选项 |
说明 |
| --size width x height |
设置分辨率 eg:1280x720 |
| --bit-rate rate |
视频比特率,默认值为 4Mbps,可以设6Mbps,这样质量更好 eg:adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4 |
| --time-limit time |
设置最大录制时长(以秒为单位)。默认值和最大值均为 180(3 分钟)。 |
5. 调用ActivityManager(am 命令)
adb shell am start -a android.intent.action.VIEW
adb shell am start -n 包名/类名
![]()
启动QQ
adb shell am startservice 包名/类名
![]()
启动指定的Service
adb shell am boradcast -a 广播Action
![]()
adb 命令发送开机广播
adb shell force-stop 包名
![]()
强行停止QQ进程,正在使用的QQ就会闪退被杀掉
6. 调用 PackageManager(pm 命令)
adb shell pm uninstall 包名
![]()
卸载QQ
adb shell pm list packages
![]()
部分apk包名查看
adb shell pm list permission-groups
![]()
所有手机权限组查看
adb shell pm list features
![]()
查看手机Feature
adb shell pm path 包名
![]()
查看SystemUI apk 路径
adb shell pm clear 包名
![]()
清除QQ apk 数据
查看支持最多用户数
adb shell pm get-max-users
查询系统所有用户
adb shell pm list users
创建新用户
adb shell pm create-user user_name
移除指定id用户
adb shell pm remove-user user_id
![]()
测试发现只有 使用adb 命令创建的多用户才可用命令移除
7. dumpsys将系统数据转储到屏幕
adb shell dumpsys activity | findstr Run
![]()
获取最近运行的Activity ,已经Top Activity
8. 查看手机系统进程
adb shell top
![]()
使用Top命令查看系统进程
adb shell ps
![]()
使用 ps 命令查看系统进程
结合findstr 命令 过滤多余的信息 adb shell ps | findstr qq
![]()
结合findstr 命令 过滤多余的信息
9. 使用logcat抓 log信息
adb logcat > 1.txt
![]()
使用logcat 抓取的信息
adb logcat -s 关注log标签
![]()
使用-s 过滤关注log标签
adb logcat -c
10. 电量管理相关命令
adb shell dumpsys battery unplug
adb shell settings put global low_power 1
adb shell dumpsys battery reset
![]()
电源管理相关命令
现在加Android开发群;701740775,可免费领取一份最新Android高级架构技术体系大纲和视频资料,以及五年积累整理的所有面试资源笔记。加群请备注csdn领取xx资料