ADB(Android Debug Bridge)是安卓开发调试工具,通过命令行实现电脑与安卓设备通信,用于调试应用、安装卸载软件、传输文件及执行系统管理任务。
ADB,全称 Android Debug Bridge,是谷歌官方 Android SDK(软件开发工具包)中提供的一个极其强大的命令行工具,它充当了你的电脑(Windows, macOS, 或 Linux)与连接的 Android 设备(手机、平板、电视盒子、甚至模拟器)之间的“桥梁”,开发者主要用它来调试应用、刷机、修改系统设置,但对于进阶用户来说,它也是解锁设备潜能、进行深度管理和自动化操作的利器。
为什么需要ADB?
- 调试应用: 开发者安装、运行、测试和调试应用程序。
- 访问Shell: 直接在设备上执行 Linux 命令(通过
adb shell
)。 - 文件传输: 在电脑和设备之间轻松复制文件(上传/下载)。
- 设备信息: 获取详细的设备状态、硬件信息、安装的应用列表等。
- 屏幕截图/录屏: 直接在电脑上捕获设备屏幕图像或视频。
- 安装/卸载应用: 批量或静默安装/卸载APK文件(包括系统应用,需root)。
- 备份与恢复: 执行特定类型的备份(虽然不如完整备份工具)。
- 修改系统设置: 更改一些普通设置界面无法触及的隐藏选项(需谨慎)。
- Root后管理: 执行需要超级用户权限的操作(需设备已root)。
- 自动化脚本: 将一系列ADB命令写入脚本,实现自动化操作。
重要前提与准备工作 (E-A-T重点:安全与准备)
-
启用USB调试: 这是ADB工作的基础。
- 在设备的 设置 > 关于手机 中,连续点击 “版本号” 7次,直到看到“您已处于开发者模式”的提示。
- 返回设置,进入 系统 > 开发者选项 (新版本可能在 设置 > 关于手机 > 开发者选项 或直接搜索)。
- 找到 “USB调试” 选项并启用它。
- (Android 11+ 重要步骤) 在开发者选项中,找到 “默认USB配置” 或类似选项,将其设置为 “文件传输” 或 “MTP”,务必启用 “无线调试” 选项(即使你打算用USB线连接,这对后续授权很重要)。
-
安装ADB工具:
- 推荐方法(官方/完整): 下载并安装 Android SDK Platform-Tools,这是谷歌官方提供的,包含最新的
adb
和fastboot
工具。- 访问 Android 开发者网站 (developer.android.com),搜索 “SDK Platform-Tools” 或 “Command line tools only”,下载对应你操作系统(Windows, macOS, Linux)的压缩包。
- 解压到一个容易找到的文件夹,
C:\platform-tools
(Windows) 或~/platform-tools
(macOS/Linux)。
- 简易方法(仅Windows): 可以搜索下载独立的 “Minimal ADB and Fastboot” 安装包,但版本可能不是最新。
- 推荐方法(官方/完整): 下载并安装 Android SDK Platform-Tools,这是谷歌官方提供的,包含最新的
-
配置系统PATH(可选但强烈推荐):
- 将你解压
platform-tools
的文件夹路径添加到系统的PATH
环境变量中,这样你就可以在任何命令行窗口(如CMD, PowerShell, 终端)中直接输入adb
命令,而无需每次都切换到platform-tools
目录。 - 如何添加PATH: 请根据你的操作系统搜索教程(“Windows 10 添加环境变量 PATH”, “macOS 添加 PATH”, “Linux 添加 PATH”)。
- 将你解压
-
连接设备并授权:
- 使用质量可靠的USB数据线将设备连接到电脑。
- 在设备的USB连接提示(或通知栏下拉菜单)中,选择 “文件传输” 或 “MTP” 模式。
- 首次连接时,设备会弹出“允许USB调试吗?”的提示框,勾选“始终允许此计算机”,然后点击 “确定”,这是关键授权步骤!(E-A-T重点:用户控制与授权)
- 如果未弹出提示,尝试重新插拔USB线,或在开发者选项中关闭再打开USB调试。
基础ADB命令使用指南
打开你系统的命令行工具:
- Windows: 按
Win+R
,输入cmd
或powershell
,回车。 - macOS: 打开“终端”(在“应用程序”->“实用工具”中)。
- Linux: 打开终端(通常是
Ctrl+Alt+T
)。
检查连接与设备状态
adb devices
- 作用: 列出当前连接到电脑的所有已授权ADB设备。
- 输出示例:
List of devices attached 1234567890ABCDEF device
- 说明: 第一串字符是设备的序列号,
device
状态表示设备已连接且ADB可用,如果看到unauthorized
,请检查设备屏幕上的授权提示,如果什么都没显示,检查USB连接、驱动、USB调试是否开启。
进入设备的Shell环境
adb shell
- 作用: 在命令行中启动一个交互式的 Shell 会话,让你直接在设备上执行 Linux 命令(就像在设备上打开了终端模拟器),输入
exit
或按Ctrl+D
退出 Shell 返回电脑命令行。 - 示例:
adb shell ls /sdcard/
(列出设备内部存储根目录下的文件和文件夹 – 在adb shell
之后输入) - 注意: 许多强大的操作(尤其是修改系统)需要在 Shell 中执行,并且可能需要
su
(superuser) 权限(即设备已 Root)。
- 作用: 在命令行中启动一个交互式的 Shell 会话,让你直接在设备上执行 Linux 命令(就像在设备上打开了终端模拟器),输入
安装和卸载应用程序
- 安装APK:
adb install path/to/your_app.apk
adb install C:\Users\YourName\Downloads\app-release.apk
adb install -r path/to/your_app.apk
-r
参数:替换已存在的应用(覆盖安装),保留数据。
adb install -t path/to/your_app.apk
-t
参数:允许安装测试包(如果APK声明了android:testOnly="true"
)。
- 卸载应用:
adb uninstall com.example.packagename
- 你需要知道应用的包名(Package Name),可以通过
adb shell pm list packages
查找,或使用第三方工具查看已安装应用的包名。 - 例如卸载Chrome:
adb uninstall com.android.chrome
(系统应用可能需要adb shell pm uninstall -k --user 0 com.android.chrome
或 Root 权限才能完全卸载)
- 你需要知道应用的包名(Package Name),可以通过
文件传输(电脑 ↔ 设备)
- 从电脑复制文件到设备:
adb push local/path/to/file /sdcard/remote/path/
adb push C:\Users\YourName\Pictures\photo.jpg /sdcard/DCIM/
(将电脑的 photo.jpg 复制到设备的 DCIM 文件夹)
- 从设备复制文件到电脑:
adb pull /sdcard/remote/path/to/file local/path/to/save
adb pull /sdcard/DCIM/Screenshots/screenshot.png .\Downloads\
(将设备的截图文件拉取到电脑的当前目录下的 Downloads 文件夹)
- 注意:
/sdcard/
通常指向设备的内部存储根目录(用户可访问部分),实际路径可能因设备而异。
屏幕截图与录屏
- 截图:
adb exec-out screencap -p > screenshot.png
- 这是最通用可靠的方法,直接将二进制截图数据输出到电脑当前目录的
screenshot.png
文件。
- 这是最通用可靠的方法,直接将二进制截图数据输出到电脑当前目录的
adb shell screencap /sdcard/screenshot.png
+adb pull /sdcard/screenshot.png .
先在设备上保存截图,再拉取到电脑(两步)。
- 录屏 (Android 4.4+):
adb shell screenrecord /sdcard/demo.mp4
- 开始录制设备屏幕,默认保存到设备内部存储的
demo.mp4
。按Ctrl+C
停止录制。
- 开始录制设备屏幕,默认保存到设备内部存储的
adb shell screenrecord --size 1280x720 /sdcard/demo.mp4
(设置分辨率)adb shell screenrecord --bit-rate 4000000 /sdcard/demo.mp4
(设置比特率,默认4Mbps)adb shell screenrecord --time-limit 30 /sdcard/demo.mp4
(限制录制时间30秒)- 录制完成后,使用
adb pull /sdcard/demo.mp4 .
将视频文件拉取到电脑。
获取设备信息与日志
- 设备信息:
adb shell getprop
:列出所有系统属性(非常长)。adb shell getprop ro.product.model
:获取设备型号(如 “Pixel 6”)。adb shell getprop ro.build.version.release
:获取Android版本(如 “13”)。adb shell wm size
:获取屏幕物理分辨率。adb shell wm density
:获取屏幕密度(DPI)。adb shell dumpsys battery
:获取详细的电池信息。
- 查看日志 (Logcat):
adb logcat
:实时打印设备的所有系统日志(信息量巨大,按Ctrl+C
停止)。adb logcat -s TAG
:只打印包含特定标签TAG
的日志(adb logcat -s ActivityManager
)。adb logcat -d > log.txt
:将当前缓存的日志一次性输出并保存到电脑的log.txt
文件。adb logcat -c
:清除设备上的日志缓存。
重启与恢复模式
adb reboot
:正常重启设备。adb reboot bootloader
:重启到 Bootloader/Fastboot 模式(用于刷机等操作)。adb reboot recovery
:重启到 Recovery 模式(用于清除数据、刷入OTA包等)。
无线调试 (Wi-Fi ADB – Android 11+ 更简便)
- 确保设备和电脑在同一个Wi-Fi网络下。
- 在设备上进入 开发者选项 > 无线调试,启用它。
- 点击 “使用配对码配对设备”,记下显示的 IP地址、端口号 和 配对码。
- 在电脑命令行中,使用配对命令:
adb pair ip:port
(将ip:port
替换为设备上显示的配对IP和端口)- 命令执行后,会提示输入配对码,输入设备上显示的配对码,回车。
- 成功后会显示
Successfully paired to ...
。
- 配对成功后,无线调试会显示 “已配对设备” 及其 IP地址和端口(通常与配对端口不同)。
- 在电脑命令行中,使用连接命令:
adb connect ip:port
(将ip:port
替换为设备上无线调试中显示的连接IP和端口)- 成功后会显示
connected to ...
。
- 现在可以拔掉USB线,使用
adb devices
应该能看到设备后面标注了device
和它的IP地址端口,表示无线连接成功,后续命令操作与USB连接完全一致。 - 断开连接:
adb disconnect ip:port
或adb disconnect
(断开所有无线设备)。
高级与需Root权限的命令 (极度谨慎!)
adb root
: 以 root 权限重启 adbd 守护进程(需要设备已解锁Bootloader且已Root,或某些开发版/工程机)。adb remount
: 将设备的/system
分区重新挂载为可读写(需要adb root
成功执行)。修改/system
下的文件极其危险!adb shell pm disable-user com.example.packagename
: 禁用系统应用(无需卸载,使其不可用,通常不需要root,但需要adb shell
执行)。adb shell pm grant com.example.app android.permission.PERMISSION_NAME
: 授予应用特定权限(需谨慎,了解权限含义)。adb shell settings
: 直接读写系统设置数据库(global
,system
,secure
),可以修改很多隐藏设置。风险极高,极易导致系统不稳定或功能异常! (adb shell settings put global policy_control immersive.full=*
尝试开启全沉浸模式 – 效果因设备系统而异)
关键安全警告与最佳实践 (E-A-T核心:责任与可信)
- 理解风险: ADB 赋予你对设备的深层访问权限。错误的命令,尤其是
adb shell
中的命令或修改系统分区/设置的操作,可能导致设备变砖、数据永久丢失、系统不稳定或安全漏洞! 操作前务必了解命令的作用。 - 备份!备份!备份! 在执行任何可能修改系统或数据的操作(尤其是涉及
rm
,mv
,dd
, 修改/system
, 卸载关键应用等)之前,务必备份好设备上的重要数据。 - 来源可靠: 只从可信来源(如官方开发者文档、知名技术论坛的权威教程)获取ADB命令,对网上找到的“神奇命令”保持警惕,特别是那些声称能“提升性能”、“免费获得功能”的命令。
- 谨慎使用Root和
remount
: 获取Root权限和挂载系统分区为可写 (remount
) 会极大增加风险,仅在绝对必要且你完全清楚后果时才这样做。 - 逐步验证: 执行复杂操作时,建议分步骤进行,每步执行后验证结果,避免一次性执行大量未知命令。
- USB调试安全: 仅在需要时启用USB调试,并在公共电脑或不信任的电脑上连接时不要勾选“始终允许”,连接完成后,可以考虑暂时关闭USB调试。
- 无线调试安全: 无线调试虽然方便,但理论上存在被同一网络内其他设备攻击的风险,仅在安全可信的私有网络中使用,并在完成后及时断开 (
adb disconnect
) 或关闭设备上的无线调试。 - 查阅官方文档: 遇到问题或需要了解更深入的功能,Android 开发者官方文档 是最权威的参考。
ADB 是一个功能极其强大的工具,是深入掌控 Android 设备的钥匙,从简单的文件传输、截图到复杂的系统调试和修改,它都能胜任。“能力越大,责任越大”。请务必以谨慎、负责的态度使用ADB,充分理解每个命令的作用和潜在风险,并始终优先备份重要数据。 对于普通用户,掌握基础的连接、安装、文件传输和截图命令已足够应对很多需求,高级操作请务必三思而后行,并参考官方权威资料。
引用与参考说明 (E-A-T:权威性与透明度)
- 主要知识来源与权威参考:
- Android 开发者官方文档 – 命令行工具:
[https://developer.android.com/tools/releases/platform-tools](https://developer.android.com/tools/releases/platform-tools)
(提供ADB和Fastboot的官方定义、下载和基础说明) - Android 开发者官方文档 – ADB 命令参考:
[https://developer.android.com/tools/adb](https://developer.android.com/tools/adb)
(最全面、最权威的ADB命令语法和功能解释) - Android 开源项目 (AOSP) – ADB 实现:
[https://android.googlesource.com/platform/packages/modules/adb/](https://android.googlesource.com/platform/packages/modules/adb/)
(ADB的源代码,供深度技术参考)
- Android 开发者官方文档 – 命令行工具:
- 命令示例与常见用法: 综合了官方文档、长期技术社区实践(如 Stack Overflow, XDA Developers 论坛中的公认最佳实践)以及通用的命令行知识,具体命令效果可能因设备型号、Android版本和制造商定制系统(如MIUI, One UI, ColorOS等)而略有差异。
- 安全警告: 基于常见的设备变砖、数据丢失案例和技术社区的安全共识编写。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4788.html