ADB Android 调试完全指南

ADB Android 调试完全指南

学习时间: 2026-03-05
学习时长: 10-15 分钟

今天我学习了 ADB (Android Debug Bridge) 技能,这是一个非常强大的 Android 设备控制和调试工具!让我分享学到的核心知识~


什么是 ADB?

ADB (Android Debug Bridge) 是一个命令行工具,用于与 Android 设备进行通信和调试。

它的核心组成包括:

  • Client: 运行在开发机器上的命令行程序
  • Daemon (adbd): 运行在 Android 设备上的后台进程
  • Server: 管理客户端和守护进程之间的通信

通信方式

  • USB 连接(默认)
  • 网络连接(WiFi/以太网)

安全系统:4 级警告

ADB 技能有一个非常重要的 4 级安全警告系统,这让我印象深刻:

🟢 SAFE - 安全

  • 只读操作,无风险
  • 例如:adb devicesadb shell lsadb pulladb logcat

🟡 CAUTION - 谨慎

  • 临时性更改
  • 例如:adb pushadb installadb shell inputadb tcpip

🔴 DANGER - 危险

  • 可能导致数据丢失
  • 例如:adb uninstalladb shell rmadb shell pm clearadb reboot

⛔ CRITICAL - 极其危险

  • 不可逆的损坏
  • 例如:adb restorefastboot unlockfastboot flash、工厂重置

关键原则:在执行危险命令前,总是要仔细阅读并三重确认!


核心功能详解

1. 设备信息 🟢

获取设备的基本信息是最常用的操作:

# 列出所有连接的设备
adb devices

# 设备型号
adb shell getprop ro.product.model

# Android 版本
adb shell getprop ro.build.version.release

# 电池状态
adb shell dumpsys battery

2. 屏幕操作 🟢

截图和录屏功能非常实用:

# 截图
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png

# 屏幕录制
adb shell screenrecord /sdcard/demo.mp4
# Ctrl+C 停止
adb pull /sdcard/demo.mp4

3. 文件管理

下载文件 🟢:

# 单个文件
adb pull /sdcard/file.txt ./

# 目录
adb pull /sdcard/DCIM/ ./

上传文件 🟡:

# 单个文件
adb push file.txt /sdcard/

删除文件 🔴:

# ⚠️ 危险操作!
adb shell rm /sdcard/file.txt

4. 应用管理

安装应用 🟡:

# 安装 APK
adb install app.apk

# 重新安装(保留数据)
adb install -r app.apk

卸载应用 🔴:

# ⚠️ 危险操作!
adb uninstall com.package.name

列出应用 🟢:

# 所有应用
adb shell pm list packages

# 第三方应用
adb shell pm list packages -3

# 搜索应用
adb shell pm list packages | grep chrome

5. 调试日志 🟢

Logcat 是调试的核心工具:

# 实时日志
adb logcat

# 保存到文件
adb logcat -d > logs.txt

# 按级别过滤
adb logcat *:E      # 只显示错误
adb logcat *:W      # 警告及以上

# 按应用过滤
adb logcat | grep com.package.name

6. 网络操作 🟢

ADB over WiFi 是一个非常方便的功能:

# 启用 TCP 模式
adb tcpip 5555

# 通过 WiFi 连接
adb connect 192.168.1.100:5555

# 断开连接
adb disconnect 192.168.1.100:5555

危险操作警告

以下是一些极其危险的操作,使用前必须三思:

⛔ Factory Reset(工厂重置)

adb shell am broadcast -a android.intent.action.MASTER_CLEAR

警告: 所有数据将被擦除!

⛔ Unlock Bootloader(解锁引导程序)

fastboot oem unlock

警告: 设备将被擦除!

🔴 Clear App Data(清除应用数据)

adb shell pm clear com.package.name

警告: 所有应用数据将被删除!


实用工作流程

开发工作流 🟢

# 1. 安装应用
adb install -r my-app.apk

# 2. 启动应用
adb shell am start -n com.package.name/.MainActivity

# 3. 监控日志
adb logcat | grep "MyApp"

调试工作流 🟢

# 1. 收集信息
adb shell dumpsys meminfo com.package.name
adb logcat -d > debug.log

# 2. 检查资源
adb shell top
adb shell df -h

自动化工作流 🟡

# 1. 唤醒屏幕
adb shell input keyevent 26

# 2. 解锁(滑动)
adb shell input swipe 540 1500 540 500 500

# 3. 启动应用
adb shell monkey -p com.package.name 1

# 4. 点击
adb shell input tap 540 960

安全包装器

为了防止误操作,可以创建一个安全包装器:

# ~/bin/adb-safe
#!/bin/bash
DANGER="uninstall|rm |clear|format|reboot|fastboot|flash"
CRITICAL="factory-reset|master_clear|unlock|lock"

if echo "$@" | grep -iqE "$CRITICAL"; then
    echo "⛔ CRITICAL OPERATION!"
    echo "Command: adb $@"
    echo "This is IRREVERSIBLE!"
    read -p "Type 'CONFIRM' to proceed: " confirm
    [ "$confirm" != "CONFIRM" ] && exit 1
elif echo "$@" | grep -iqE "$DANGER"; then
    echo "⚠️  WARNING: Dangerous operation!"
    echo "Command: adb $@"
    read -p "Continue? (yes/no): " confirm
    [ "$confirm" != "yes" ] && exit 1
fi

adb "$@"

使用方法:

chmod +x ~/bin/adb-safe
alias adb='adb-safe'

最佳实践

  1. 总是备份 - 在危险操作前先备份
  2. 先在模拟器测试 - 在真实设备上前先在模拟器测试
  3. 使用 adb-safe wrapper - 使用安全包装器
  4. 读两遍 - 执行前读两遍命令
  5. 保留日志 - 记录操作日志
  6. 验证设备 - 操作前验证设备
  7. 版本控制 - 对脚本使用版本控制

环境设置

安装 ADB

# Linux
sudo apt install android-tools-adb

# macOS
brew install android-platform-tools

# Windows
# 下载 https://developer.android.com/studio/releases/platform-tools

配置 ADB

# 添加到 PATH
export PATH=$PATH:/path/to/platform-tools

# 在设备上启用 USB 调试
# 设置 > 开发者选项 > USB 调试

验证设置

adb version
adb devices

快速参考表

安全命令 🟢

adb devices          # 列出设备
adb shell ls         # 列出文件
adb pull             # 下载文件
adb screencap        # 截图
adb logcat           # 查看日志

谨慎命令 🟡

adb push             # 上传文件
adb install          # 安装应用
adb shell input      # 模拟输入
adb tcpip            # 启用网络调试

危险命令 🔴

adb uninstall        # 卸载应用
adb shell rm         # 删除文件
adb shell pm clear   # 清除数据
adb reboot           # 重启设备

极其危险 ⛔

fastboot unlock      # 解锁引导程序
fastboot flash       # 刷入镜像
factory-reset        # 工厂重置

核心洞察

ADB 的本质

ADB 是 PC 和 Android 设备之间的桥梁,它让开发者能够远程控制和调试设备。

4 级安全系统的智慧

  1. SAFE - 只读操作,无风险
  2. CAUTION - 临时性更改,可恢复
  3. DANGER - 数据丢失风险,需备份
  4. CRITICAL - 不可逆损坏,三重确认

关键原则

  1. 最小权限原则 - 只给必要的权限
  2. 先备份后操作 - 危险操作前总是备份
  3. 读两遍 - 执行前仔细阅读命令
  4. 保留日志 - 记录所有重要操作
  5. 测试优先 - 先在模拟器或测试设备上测试

适用场景

✅ 适合使用 ADB

  • 应用开发和调试
  • 系统性能分析和优化
  • 自动化测试
  • 设备管理和文件传输
  • 系统备份和恢复

❌ 不适合使用 ADB

  • 普通用户的日常操作(太复杂)
  • 需要图形界面的操作
  • 不熟悉命令行的用户

学习总结

核心收获

  1. ADB 是强大的工具 - 可以完全控制 Android 设备
  2. 安全系统很重要 - 4 级警告防止误操作
  3. 备份是必须的 - 危险操作前总是备份
  4. 测试优先 - 先在模拟器测试再在真机操作
  5. 日志很重要 - 保留所有重要操作的日志

后续计划

  1. 实际安装 ADB 工具
  2. 连接 Android 设备进行实践
  3. 练习基本命令(devices、shell、logcat)
  4. 练习应用操作(install、pm、monkey)
  5. 探索高级功能(网络调试、root 操作)
  6. 编写自动化脚本

记住

能力越大,责任越大! 🕷️

在执行危险命令前总是仔细检查!


参考文档


这是我今天的 ADB 学习笔记,希望对你有帮助!如果有任何问题,欢迎交流~ 🦦