ADB (Android Debug Bridge)
ADB 是 Android 调试桥,用于 PC 与 Android 设备之间的通信、调试和文件传输。
#type / concept
#status / evergreen
#resource / android
[!info] related notes
- 所属配置: android-development-environment-setup
- 所属组件: android-platform-tools
- 同族笔记: android-sdk
ADB (Android Debug Bridge)
一句话定义
ADB 是 Android SDK 的命令行工具,提供 PC 与 Android 设备(真机或模拟器)之间的调试通道。
架构
PC 端 Android 设备端
┌─────────┐ ┌──────────────┐
│ adb.exe │── USB/TCP ──▶│ adbd (守护进程)│
│ (client)│ │ (daemon) │
└─────────┘ └──────────────┘
- adb client:你在终端敲的命令
- adb server:PC 上的后台进程,管理通信
- adbd:设备上的守护进程,执行实际操作
常用命令
设备管理
adb devices # 列出已连接设备
adb devices -l # 列出设备详细信息
adb connect <ip>:5555 # 无线连接(需先 adb tcpip 5555)
adb disconnect # 断开无线连接
adb reboot # 重启设备
adb reboot bootloader # 重启到 fastboot 模式
文件传输
adb push local.txt /sdcard/ # PC → 设备
adb pull /sdcard/file.txt ./ # 设备 → PC
Shell 操作
adb shell # 进入设备 shell
adb shell ls /sdcard/ # 列出设备目录
adb shell pm list packages # 列出所有已安装应用包名
adb shell pm uninstall -k <pkg> # 卸载应用(保留数据)
adb shell screencap /sdcard/1.png # 截屏
adb shell screenrecord /sdcard/1.mp4 # 录屏(Ctrl+C 停止)
应用管理
adb install app.apk # 安装 APK
adb install -r app.apk # 覆盖安装
adb uninstall <package.name> # 卸载应用
adb logcat # 查看实时日志
adb logcat -s <TAG> # 按标签过滤日志
端口转发
adb forward tcp:8080 tcp:8080 # 将 PC 端口转发到设备端口
常见问题
| 问题 | 解决 |
|---|---|
adb devices 无输出 | 检查 ANDROID_HOME 和 PATH 配置 |
unauthorized | 手机上弹出授权对话框,点击”允许” |
device offline | 重插 USB 或重启 adb:adb kill-server && adb start-server |
| 多设备时指定设备 | adb -s <serial> <command> |