ADB:Android Debug Bridge 的基础知识和常用命令

作者: IT Sectr 发布日期: 2026-02-12 阅读时间: 10 分钟

ADB(Android Debug Bridge) — 是一个多功能的控制台实用程序,是 Android SDK 的一部分。它允许计算机通过 USB 数据线或 Wi-Fi 直接与 Android 设备交互。使用 ADB 可以安装和卸载应用程序、复制文件、运行 shell 命令、查看系统日志、截屏和录屏、管理设置,甚至执行自动化测试。该工具对于希望完全控制设备的开发人员、测试人员和爱好者来说是不可或缺的。

要点

  • ADB — 用于调试 Android 的控制台工具,是 SDK 平台工具的一部分
  • 连接 — 通过 USB 和 Wi-Fi 工作(adb tcpip / adb connect)
  • 基本命令 — adb devices、adb shell、adb install、adb uninstall、adb pull / push
  • 处理日志 — adb logcat,可按标签和重要性级别过滤
  • 截屏和录屏 — adb shell screencap 和 adb shell screenrecord
  • 多设备 — adb -s 用于选择特定设备
  • 自动化 — adb shell input 用于模拟触摸、滑动和文本输入

什么是 ADB 及它的用途

Android Debug Bridge(ADB) — 是一个客户端-服务器应用程序,由三个组件组成:客户端(在计算机上运行)、服务器(计算机上的后台进程)和 adbd 守护进程(在 Android 设备本身上运行)。当开发人员或工程师将智能手机连接到 PC 时,ADB 会创建一个可靠的通信通道,可以通过该通道传输命令、文件和数据。

ADB 的主要使用场景包括:在真实设备上调试应用程序而无需在商店中发布 APK、提取日志以分析错误、自动化测试、数据备份、刷写 recovery 映像以及获取 root 访问权限。即使您不编写代码,ADB 也可用于从应用程序中提取屏幕截图、录制手机屏幕视频指南或在刷写失败后恢复设备。

ADB 支持内置于从版本 2.1(API 7)开始的所有官方 Android 版本中。使用需要在开发者设置中启用「通过 USB 调试」选项。从 Android 4.2 开始,在首次连接时,设备会要求确认:需要根据其 RSA 密钥允许特定计算机进行调试。

在计算机上安装 ADB

对于 Windows — 从 Google Developers 官方网站下载 Platform Tools,将存档解压到 C:\adb 文件夹,并将此路径添加到 PATH 环境变量中。重启终端后,adb 命令将全局可用。

对于 macOS — 最简单的方法是通过 Homebrew 包管理器安装 ADB:执行 brew install android-platform-tools。所有依赖项将自动解决。

对于 Linux — 在基于 Debian / Ubuntu 的发行版中:sudo apt install adb。安装后,将用户添加到 plugdev 组:sudo usermod -aG plugdev $USER 并重新登录,以便 ADB 获得对 USB 设备的访问权限。

可以使用 adb version 命令检查安装是否正确。如果输出中显示 Android Debug Bridge 版本号,则该工具已准备就绪。

连接设备和基本命令

首次连接始终从 adb devices 命令开始。它会显示已连接设备的列表及其状态。如果设备显示为 unauthorized,请解锁屏幕并在手机上确认调试。

adb devices
List of devices attached
emulator-5554   device
0123456789ABCD  device

安装应用程序 — 最常见的操作之一。只需指定 APK 文件的路径:

adb install C:\apps\myapp.apk

如果应用程序已安装但需要用更新版本替换,请添加 -r(替换)标志:

adb install -r C:\apps\myapp-v2.apk

卸载应用程序按包名进行:

adb uninstall com.example.myapp

复制文件 — adb pull 从设备提取文件到计算机,adb push 将文件上传到设备:

adb pull /sdcard/DCIM/screenshot.png .
adb push myfile.txt /sdcard/Documents/

交互式 shell — adb shell 命令打开设备的命令 shell。在其中可以执行标准 Linux 命令:ls、ps、top、dumpsys、pm、am 等。

adb shell
tissot_sprout:/ $ ls -la /sdcard/
tissot_sprout:/ $ ps | grep com.android.chrome

通过 ADB 启动 Activity 允许打开任何应用程序或屏幕,而无需手动搜索图标:

adb shell am start -n com.android.chrome/com.google.android.apps.chrome.Main

处理日志:Logcat

Logcat — 是 Android 的日志记录系统,收集来自应用程序、系统服务和内核的消息。该工具在调试时不可或缺:通过日志可以了解应用程序崩溃的原因、哪个方法引发了异常或特定操作持续多长时间。

无过滤器简单启动 — adb logcat。日志流是无限的,按 Ctrl+C 停止。要按标签过滤消息,请使用 -s 参数:

adb logcat -s MainActivity:V

日志记录的重要性级别(从最详细到最严重):V(详细)、D(调试)、I(信息)、W(警告)、E(错误)、F(严重)。标签和级别的组合可以只提取所需的消息。

在测试前清除累积的缓冲区:

adb logcat -c

将日志保存到文件:

adb logcat -d > app_logs.txt

-d(转储)标志显示当前缓冲区并在不阻塞终端的情况下结束。这对于自动化脚本很方便。

截屏、录屏和有用的诊断命令

截屏使用 adb shell screencap 命令完成。结果保存到文件中,然后通过 adb pull 提取:

adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png

可以使用替换和管道将两个操作合并到一行中。在实践中,这加速了文档和测试报告的创建。

录屏在 Android 4.4+(API 19)上可用。默认录制时长 — 180 秒,比特率 — 4 Mbit/s。主要命令:

adb shell screenrecord /sdcard/demo.mp4

按 Ctrl+C 停止录制。视频分辨率与设备屏幕分辨率对应,但不超过 1080p。要更改比特率,请指定 --bit-rate:

adb shell screenrecord --bit-rate 8000000 /sdcard/demo.mp4

诊断命令:adb shell dumpsys 显示所有系统服务的状态。要仅获取电池信息:

adb shell dumpsys battery

已安装包列表可以通过 Package Manager 获取:

adb shell pm list packages

重置应用程序设置(相当于在设置中清除数据):

adb shell pm clear com.example.myapp

ADB 的高级功能

Wi-Fi 调试消除了需要将设备通过 USB 保持连接的不便。确保计算机和设备在同一网络中。首先执行 adb tcpip 5555,断开 USB,然后通过 IP 连接:

adb tcpip 5555
adb connect 192.168.1.100:5555

如果设备 IP 地址未知,请在断开电缆之前通过 adb shell ip addr show wlan0 查找。

数据备份应用程序或整个系统无需 root 即可完成:

adb backup -apk -shared -all -system -f mybackup.ab

从备份恢复:

adb restore mybackup.ab

输入模拟 — adb shell input 命令允许模拟触摸、滑动、按键和文本输入。这是在无需额外框架的情况下自动化 UI 测试的基础:

adb shell input tap 500 1000
adb shell input swipe 300 500 800 500
adb shell input text "Hello, ADB!"

在不同模式下重启:

adb reboot          # 正常重启
adb reboot recovery # 恢复模式
adb reboot bootloader # 引导加载程序(fastboot)

Fastboot 模式可以刷写映像、解锁引导加载程序和安装自定义 recovery。

使用多个设备

当同时连接多个设备或模拟器时,ADB 需要指定特定的序列号。adb devices 命令显示所有已连接的设备及其序列号。

要将命令定向到特定设备,请使用 -s 标志:

adb -s 0123456789ABCD install myapp.apk

如果只有一个设备,可以不用标志。但在 CI 环境中,同时运行多个模拟器时,指定序列号是必须的。

杀死 ADB 服务器 — 如果设备停止被检测到或报错,重启服务器会有所帮助:

adb kill-server
adb start-server

之后执行 adb devices — 服务器将重新启动并将请求转发到设备守护进程。

ADB 的主要命令:汇总表

命令 描述
adb devices 显示已连接设备的列表
adb install 安装 APK 文件到设备
adb uninstall 按包名卸载应用程序
adb shell 启动交互式命令 shell
adb push 复制文件从计算机到设备
adb pull 复制文件从设备到计算机
adb logcat 查看系统和应用程序日志
adb shell screencap 创建屏幕截图
adb shell screenrecord 录制屏幕视频
adb reboot 重启设备
adb tcpip 5555 将 ADB 切换到 TCP/IP 模式用于 Wi-Fi
adb connect :5555 通过 Wi-Fi 连接到设备

常见问题

如果「开发者选项」被隐藏,如何启用 USB 调试?

打开「设置」→「关于手机」,点击「版本号」7 次。返回设置主菜单 — 将出现「开发者选项」部分。在其中启用「USB 调试」。从 Android 4.2 开始,首次连接到计算机时,需要在设备屏幕上确认 RSA 调试密钥。

为什么 adb devices 命令显示 unauthorized 状态?

设备不信任计算机。解锁手机屏幕,当出现「允许 USB 调试吗?」对话框时,勾选「始终允许此计算机」并点击「确定」。如果对话框不出现,请断开并重新连接 USB 数据线,或执行 adb kill-server && adb start-server。

如何在无屏幕设备(屏幕损坏)上安装 APK?

ADB 不需要与屏幕交互。通过 USB 连接设备,等待它出现在 adb devices 中(如果调试已启用),然后执行 adb install 。要打开应用程序,请使用 adb shell am start -n <包名>/<活动>。如果调试未提前启用,则无屏幕恢复访问要困难得多 — 需要自定义 recovery。

adb install 与通过 Google Play 安装有何不同?

ADB 直接安装 APK,绕过安装期间的 Google Play Protect 检查,这允许在发布前测试应用程序。但是,最终恶意代码检查在安装后仍然会运行。ADB 不需要 Google 帐户,这对于企业信息亭和没有 Google 服务的设备很重要。

可以在没有 root 访问权限的设备上使用 ADB 吗?

是的,绝大多数 ADB 命令无需 root 即可工作。例外情况是需要访问受保护系统分区的命令(例如,直接转储 boot 分区或修改系统文件)。对于日常任务 — 安装应用程序、日志记录、截屏、备份、输入模拟 — 不需要 root。

结论

ADB(Android Debug Bridge) — 是所有在专业水平上使用 Android 的人的基础工具。从基本的应用程序安装到复杂的测试自动化和设备恢复 — ADB 涵盖了计算机与智能手机或平板电脑交互的几乎所有场景。

掌握本文中描述的命令后,您将能够自信地通过终端管理 Android 设备、分析日志、为文档截屏、进行备份并加快开发过程。定期练习和研究 adb help 的输出将使您成为这个强大工具的经验丰富的用户。

总结

  • ADB — 用于调试 Android 的控制台工具,是 Platform Tools Android SDK 的一部分
  • 连接 — 通过 USB 和 Wi-Fi 使用 adb tcpip 和 adb connect 命令
  • 基本命令 — adb devices、adb shell、adb install、adb uninstall、adb pull / adb push
  • Logcat — Android 日志记录系统,可按标签和重要性级别 V/D/I/W/E/F 过滤
  • 截屏和录屏 — adb shell screencap 和 adb shell screenrecord 用于创建屏幕图像和视频
  • 高级功能 — Wi-Fi 调试、数据备份、输入模拟、在 fastboot 和 recovery 中重启
  • 多设备 — 使用 -s 标志在并行连接时选择特定设备

总结

  • ADB — 用于调试 Android 的控制台工具,是 Platform Tools Android SDK 的一部分
  • 连接 — 通过 USB 和 Wi-Fi 使用 adb tcpip 和 adb connect 命令
  • 基本命令 — adb devices、adb shell、adb install、adb uninstall、adb pull / adb push
  • Logcat — Android 日志记录系统,可按标签和重要性级别 V/D/I/W/E/F 过滤
  • 截屏和录屏 — adb shell screencap 和 adb shell screenrecord 用于创建屏幕图像和视频
  • 高级功能 — Wi-Fi 调试、数据备份、输入模拟、在 fastboot 和 recovery 中重启
  • 多设备 — 使用 -s 标志在并行连接时选择特定设备

我们将开发一款交钥匙移动应用程序

IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。

讨论项目

另请阅读