一:ADB概述
ADB(Android Debug Bridge),即安卓调试桥,是一种命令行工具,用于在计算机和Android设备之间进行通信和测试。它是Android SDK(软件开发工具包)的一部分,主要用于开发者测试、安装应用、管理文件、执行shell命令和控制设备状态。核心功能包括:
设备连接:通过USB或Wi-Fi连接设备。
安装与卸载应用:使用adb install和adb uninstall命令。
文件传输:支持上传和下载文件(如adb push和adb pull)。
Shell访问:运行adb shell进入设备命令行界面。
日志监控:捕获设备日志(adb logcat)用于调试。ADB支持跨平台(Windows、MacOS、Linux),是Android开发和故障排查的关键工具。
二:ADB具体说明
adb基本命令基本语法语法如下:
adb [-d|-e|-s <serial-number>] <command>
单一设备/模拟器连接 如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s ] 这一部分,直接使用 adb 。
多个设备/模拟器连接 如果有多个设备/模拟器连接,则需要为命令指定目标设备,下表是指定目标设备的命令选项:
1. 安装ADB
Windows系统:
- 下载Android SDK Platform Tools
- 解压后,将platform-tools目录添加到系统PATH环境变量中
MacOS/Linux:
# MacOS使用Homebrew安装
brew install android-platform-tools
# Linux (Debian/Ubuntu)
sudo apt-get install android-tools-adb
2. 验证安装
adb version
3. 启用设备USB调试
在Android设备上:
- 进入"设置" > "关于手机"
- 连续点击"版本号"7次启用开发者模式
- 返回并进入"开发者选项"
- 启用"USB调试"
三、ADB基础命令
1. 设备连接管理
# 查看已连接设备
adb devices
# 连接网络设备(设备需与电脑在同一网络)
adb connect <设备IP>:5555
# 断开网络设备
adb disconnect <设备IP>:5555
# 重启adb服务
adb kill-server
adb start-server
2. 应用管理
# 安装APK
adb install path/to/app.apk
# 安装APK并允许测试(保留数据和缓存)
adb install -t path/to/app.apk
# 覆盖安装(保留数据)
adb install -r path/to/app.apk
# 卸载应用
adb uninstall <package_name>
# 卸载应用但保留数据和缓存
adb uninstall -k <package_name>
# 列出所有已安装应用
adb shell pm list packages
# 列出系统应用
adb shell pm list packages -s
# 列出第三方应用
adb shell pm list packages -3
# 清除应用数据
adb shell pm clear <package_name>
3. 文件操作
# 将电脑文件推送到设备
adb push local/path /device/path
# 从设备拉取文件到电脑
adb pull /device/path local/path
# 进入设备shell
adb shell
# 在shell中操作文件
adb shell ls /sdcard/
adb shell cd /sdcard/
adb shell rm /sdcard/file.txt
4. 日志操作
# 查看日志
adb logcat
# 查看特定tag的日志
adb logcat -s TAG_NAME
# 清空日志
adb logcat -c
# 将日志输出到文件
adb logcat > log.txt
# 查看特定进程日志
adb logcat --pid=<PID>
四、ADB高级命令
1. 设备信息查询
# 获取设备序列号
adb get-serialno
# 获取设备状态
adb get-state
# 获取设备所有信息
adb shell getprop
# 获取特定属性
adb shell getprop ro.product.model# 设备型号
adb shell getprop ro.build.version.release# Android版本
# 查看CPU信息
adb shell cat /proc/cpuinfo
# 查看内存信息
adb shell cat /proc/meminfo
# 查看电池状态
adb shell dumpsys battery
2. 屏幕操作
# 截图
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
# 录屏(需要Android 4.4+)
adb shell screenrecord /sdcard/demo.mp4
# 按Ctrl+C停止录制
# 设置屏幕分辨率
adb shell wm size 1080x1920
# 恢复默认分辨率
adb shell wm size reset
# 设置屏幕密度
adb shell wm density 320
# 恢复默认密度
adb shell wm density reset
3. 输入模拟
# 模拟点击
adb shell input tap x y
# 模拟滑动
adb shell input swipe x1 y1 x2 y2 duration_ms
# 模拟按键
adb shell input keyevent KEYCODE_HOME# Home键
adb shell input keyevent KEYCODE_BACK# 返回键
adb shell input keyevent KEYCODE_POWER# 电源键
# 模拟文本输入
adb shell input text "hello"
# 长按电源键(模拟强制重启)
adb shell input keyevent --longpress KEYCODE_POWER
4. 性能监控
# 查看CPU使用情况
adb shell top
# 查看内存使用情况
adb shell dumpsys meminfo
# 查看GPU使用情况
adb shell dumpsys gfxinfo <package_name>
# 查看电池状态
adb shell dumpsys battery
# 查看网络状态
adb shell netstat
5. 权限管理
# 授予权限
adb shell pm grant <package_name> <permission>
# 撤销权限
adb shell pm revoke <package_name> <permission>
# 查看应用权限
adb shell pm list permissions -g
五、ADB实用技巧
1. 无线调试(无需USB)
# 首先通过USB连接设备
adb tcpip 5555
adb connect <设备IP>:5555
# 现在可以断开USB连接
2. 多设备操作
# 指定设备执行命令
adb -s <设备序列号> <命令>
# 示例:在特定设备上安装应用
adb -s emulator-5554 install app.apk
3. 备份与恢复
# 备份设备数据
adb backup -all -f backup.ab
# 恢复备份
adb restore backup.ab
4. 端口转发
# 将设备的某个端口转发到电脑
adb forward tcp:电脑端口 tcp:设备端口
# 示例:将设备的5555端口转发到电脑的1234端口
adb forward tcp:1234 tcp:5555
5. 启动Activity
# 启动Activity
adb shell am start -n <package_name>/<activity_name>
# 示例:启动设置
adb shell am start -n com.android.settings/.Settings
六、常见问题解决
- 设备未授权
- 检查设备是否弹出授权对话框
- 重新插拔USB线
- 执行
adb kill-server
后重试
- 命令无响应
- 确保USB调试已开启
- 尝试更换USB线或USB端口
- 重启ADB服务:
adb kill-server && adb start-server
- 网络连接失败
- 确保设备和电脑在同一网络
- 检查防火墙设置
- 确认设备已开启网络ADB:
adb tcpip 5555
七、安全注意事项
- 仅在受信任的电脑上启用USB调试
- 不使用时关闭USB调试功能
- 不要随意授予未知来源应用ADB权限
- 谨慎使用
adb shell
中的root命令
结语
ADB是Android开发者不可或缺的强大工具,熟练掌握这些命令可以极大提高开发效率。本文涵盖了从基础到高级的常用ADB命令,建议收藏作为日常开发的参考手册。随着Android系统的更新,ADB功能也在不断丰富,建议定期查看官方文档以了解最新功能。