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映射端口解决端口冲突。
相关推荐
龙之叶17 小时前
【Android Monkey源码解析四】- 异常捕获/页面控制
android·windows·adb·monkey
HyEISN20 小时前
Android 9 开启远程adb
android·adb
王文搏1 天前
MySQL 常用函数用法速查(含解释与示例)
数据库·mysql·adb
June bug1 天前
adb装包常见报错信息
adb
a3158238062 天前
Android修改调试屏幕的选择方向
android·adb·屏幕旋转
UrSpecial2 天前
IM项目——用户管理子服务
android·adb
不会Android的潘潘2 天前
adb指令扩展方案
android·adb·aosp
Dr.勿忘4 天前
MUMU模拟器adb连接失败:cannot connect to 127.0.0.1:16384: 由于目标计算机积极拒绝,无法连接。 (10061)
游戏·unity·adb·游戏程序·调试·模拟器
liux35284 天前
MySQL执行计划与索引优化全面解析(三)
android·mysql·adb