Android调试桥(adb)核心概念与实用命令大全 1. Android调试桥(adb)核心概念解析作为Android开发者最常用的命令行工具adb(Android Debug Bridge)扮演着连接开发机与Android设备的桥梁角色。它由三个关键组件构成客户端运行在开发机上通过终端命令调用守护进程(adbd)在设备后台运行执行具体命令服务器管理客户端与守护进程间的通信典型应用场景包括应用安装与调试文件传输管理设备状态监控系统日志抓取性能分析测试2. 基础环境配置指南2.1 安装与验证通过Android Studio的SDK Manager安装Platform-Tools后adb工具位于android_sdk/platform-tools/目录。验证安装成功的命令adb version2.2 USB调试模式开启在设备端需启用开发者选项进入设置 关于手机连续点击版本号7次返回设置 系统 开发者选项启用USB调试开关注意Android 4.2默认隐藏开发者选项需先激活2.3 无线调试配置Android 11确保设备与电脑同处一个WiFi网络设备端进入开发者选项 无线调试选择使用配对码配对电脑端执行adb pair ip:port输入设备显示的6位配对码3. 设备管理命令精要3.1 设备连接状态查询adb devices -l输出示例emulator-5554 device product:sdk_google_phone_x86 0a388e93 device usb:1-1 model:Nexus_7状态说明device正常连接状态offline连接异常no device未检测到设备3.2 多设备操作指定当连接多个设备时需使用-s参数指定目标adb -s emulator-5555 install app.apk3.3 网络端口转发建立本地到设备的端口映射adb forward tcp:6100 tcp:71004. 应用管理实战命令4.1 APK安装与卸载# 常规安装 adb install path/to/app.apk # 保留数据重新安装 adb install -r app.apk # 卸载应用 adb uninstall com.example.package # 卸载但保留数据 adb uninstall -k com.example.package4.2 应用调试控制# 设置调试应用 adb shell am set-debug-app -w com.example.package # 清除调试标记 adb shell am clear-debug-app4.3 包信息查询# 列出所有包 adb shell pm list packages # 查找特定包 adb shell pm list packages | grep keyword # 查看APK路径 adb shell pm path com.example.package5. 文件操作命令大全5.1 文件传输# 电脑→设备 adb push local.txt /sdcard/remote.txt # 设备→电脑 adb pull /sdcard/file.txt ~/Downloads/5.2 目录操作# 查看目录 adb shell ls /sdcard # 创建目录 adb shell mkdir /sdcard/new_folder # 删除文件 adb shell rm /sdcard/obsolete.txt6. 系统调试高级技巧6.1 日志抓取与分析# 实时查看日志 adb logcat # 按标签过滤 adb logcat -s TAG_NAME # 清除日志缓存 adb logcat -c # 导出日志到文件 adb logcat log.txt6.2 屏幕操作命令# 截图保存 adb shell screencap /sdcard/screen.png adb pull /sdcard/screen.png # 屏幕录制Android 4.4 adb shell screenrecord --bit-rate 8000000 /sdcard/demo.mp46.3 系统信息查询# 查看CPU信息 adb shell cat /proc/cpuinfo # 查看内存使用 adb shell dumpsys meminfo # 查看电池状态 adb shell dumpsys battery7. 实用Shell命令合集7.1 进程管理# 查看运行进程 adb shell ps # 强制停止进程 adb shell am force-stop com.example.package # 杀死后台进程 adb shell am kill-all7.2 系统设置修改# 修改屏幕分辨率 adb shell wm size 1080x1920 # 修改显示密度 adb shell wm density 480 # 恢复默认设置 adb shell wm size reset adb shell wm density reset7.3 输入模拟命令# 按键事件 adb shell input keyevent KEYCODE_HOME # 触摸屏幕 adb shell input tap 500 500 # 滑动操作 adb shell input swipe 100 500 100 1000 2008. 性能分析工具链8.1 CPU性能分析# 启动性能分析 adb shell am profile start com.example.package /sdcard/trace.trace # 停止分析 adb shell am profile stop8.2 GPU渲染分析# 启用OpenGL跟踪 adb shell am start --opengl-trace com.example.package8.3 内存分析# 生成堆转储 adb shell am dumpheap com.example.package /sdcard/heap.hprof9. 常见问题排查指南9.1 连接问题处理# 重启adb服务 adb kill-server adb start-server # 检查USB连接状态 adb usb9.2 权限问题解决# 查看当前权限 adb shell pm list permissions # 授予运行时权限 adb shell pm grant com.example.package android.permission.CAMERA9.3 无线调试故障# 检查mDNS支持 adb mdns track-services --proto-text # 验证ADB WiFi 2.0支持 adb shell getprop ro.build.version.release10. 高效使用技巧命令别名设置在.bashrc或.zshrc中添加alias adbladb devices -l alias adblogadb logcat -v time批量操作脚本创建install_all.shfor apk in *.apk; do adb install $apk done日志实时过滤使用grep管道adb logcat | grep -E Error|Exception多设备并行操作结合xargs使用echo emulator-5554 emulator-5556 | xargs -n 1 -P 2 adb -s install app.apk自动化测试集成在CI/CD流程中加入adb命令adb shell am instrument -w com.example.test/androidx.test.runner.AndroidJUnitRunner