Adb 基本概念及命令

ADB(Android Debug Bridge)基本概念

ADB是Android平台的核心调试工具,用于在开发机(如PC)与Android设备(真机或模拟器)之间建立通信桥梁。采用客户端-服务器架构:

  • 客户端:运行在开发机上,接收用户输入的命令(如命令行)。
  • 服务器:在开发机后台运行,管理客户端与设备的连接(默认监听端口5037)。
  • 守护进程(adbd):在Android设备后台执行命令,处理服务器转发的请求。

核心价值

  • 突破应用沙箱限制,直接操作设备底层资源。
  • 提供跨平台统一接口(兼容Windows、macOS、Linux)。
  • 支持设备管理、应用调试、文件传输和系统控制。

工作中常用命令

设备连接与管理
  • adb devices:列出当前连接的设备及序列号。
  • adb connect <IP:PORT>:通过Wi-Fi连接设备(需开启调试)。
  • adb disconnect:断开指定设备连接。
  • adb -s <serialNumber> <command>:指定设备执行命令(多设备环境适用)。
应用操作
  • adb install <path/to/app.apk>:安装应用(-r参数覆盖安装)。
  • adb uninstall <package.name>:卸载指定应用。
  • adb shell pm list packages:列出设备所有应用包名。
  • adb shell am start -n <package/activity>:启动特定应用活动。
文件传输
  • adb push <local> <remote>:将文件从开发机推送到设备。
  • adb pull <remote> <local>:从设备拉取文件到开发机。
  • adb shell ls <path>:查看设备目录内容。
日志与调试
  • adb logcat:实时查看系统日志(-s TAG过滤特定标签)。
  • adb bugreport:生成完整错误报告(含日志、系统状态)。
  • adb shell dumpsys <service>:获取系统服务状态(如电池、内存)。
Shell交互与权限
  • adb shell:进入设备的交互式命令行界面。
  • adb shell <command>:直接在设备执行命令(如adb shell top)。
  • adb root:切换到root权限(需设备支持)。
  • adb remount:重新挂载系统分区为可写状态。

常见问题及排查手段

设备连接失败
  • 问题表现adb devices无设备显示,或提示未授权。
  • 排查手段
    确保设备USB调试已开启(开发者选项中启用)。
    检查USB线缆连接(更换线缆或端口测试)。
    重启ADB服务:adb kill-serveradb start-server
    检查设备授权提示(设备屏幕确认调试权限)。
命令无响应或执行失败
  • 问题表现 :命令超时、报错(如device not found)。
  • 排查手段
    确认设备在线(adb devices显示状态为device)。
    验证命令语法(adb help查看格式)。
    检查ADB版本兼容性(adb version确保最新)。
    指定设备序列号执行:adb -s <serial> <command>
日志无法捕获或分析
  • 问题表现adb logcat无输出或日志丢失。
  • 排查手段
    清除日志缓存:adb logcat -c
    添加过滤器(如adb logcat -s ActivityManager)。
    确保应用在运行状态(adb shell ps检查进程)。
    生成详细报告:adb bugreport分析系统快照。
权限不足或操作受限
  • 问题表现 :命令返回permission denied或无法修改系统文件。
  • 排查手段
    获取root权限:adb root(需设备解锁)。
    重新挂载分区:adb remount
    检查SELinux状态(adb shell getenforce),必要时禁用。
通用建议
  • 定期更新ADB工具包以兼容新设备。
  • 无线连接时确保网络稳定。
  • 使用adb forward映射端口解决端口冲突。
相关推荐
2501_916008891 天前
SSE 和 gRPC 流式接口如何抓包,调试 SSE 与 gRPC 流式接口
网络协议·计算机网络·网络安全·ios·adb·https·udp
2501_916008894 天前
全平台抓包工具,Windows、iPhone、Linux三个平台抓包测试
网络协议·计算机网络·网络安全·ios·adb·https·udp
鸽芷咕6 天前
MySQL Server 鸿蒙 PC 适配全记录:以混合工具链完成 C++23 交叉编译与 HNP 交付
adb·harmonyos·c++23
游戏开发爱好者88 天前
网络连接排查指南,谁在电脑后台偷跑流量,哪些程序在联网
网络协议·计算机网络·网络安全·ios·adb·https·udp
实心儿儿8 天前
MySQL 的安装
数据库·mysql·adb
2601_962300479 天前
基于Python与Tkinter的ADB Monkey自动化测试脚本开发
python·adb·tkinter·android测试·gui自动化
flower_drop10 天前
基于 WebUSB 与 CDP:在浏览器端实现 Android 设备通信与无证书抓包实践
android·chrome·测试工具·adb·bug·edge浏览器
蜡台11 天前
# 已解决|MySQL 8\.4\.11 密码正确仍报错1045 \(28000\) Access denied 终极修复方案
android·mysql·adb
leoZ23111 天前
2026-09-08-mysql-57-init-walkthrough
前端·javascript·数据库·vue.js·opencv·mysql·adb
2501_9159214311 天前
抓包工具对比:Charles、TraceEagle、Wireshark、Fiddler 与 Proxyman
网络协议·计算机网络·网络安全·ios·adb·https·udp