1. 什么是 ADB?
**ADB(Android Debug Bridge,安卓调试桥)**它就像一座 "桥梁",连接你的电脑和 Android 设备(手机、模拟器),用于与 Android 设备进行通信。它是 Android SDK 的一部分,是一个功能强大的命令行工具,是每个 Android 开发者必须掌握的核心工具。
主要功能:
-
安装/卸载应用
-
文件传输
-
设备状态监控
-
日志查看
-
屏幕截图/录屏
-
调试应用
1.1 ADB 的工作原理(简单理解,不用深究底层)
ADB 不是单一程序,而是由三个核心组件组成的 "通信体系",它们协同工作实现电脑与设备的交互:
| 组件 | 运行位置 | 作用 |
|---|---|---|
| 客户端(Client) | 电脑(终端 / AS) | 发送指令的 "入口"(比如你在终端输入adb devices),常见客户端:命令行、Android Studio、第三方工具 |
| 服务器(Server) | 电脑(后台进程) | 作为 "中间枢纽",接收客户端的指令,再转发给设备端的守护进程;同时管理客户端与设备的连接 |
| 守护进程(Daemon) | Android 设备 | 设备上的后台服务(开机后可启动),接收服务器的指令并执行(比如安装 APP、查看设备信息) |
工作流程示例(以 "查看设备列表" 为例):
- 你在电脑终端输入
adb devices(客户端发起指令); - 电脑上的 ADB 服务器接收指令,检查是否已连接设备;
- 服务器将 "查询设备" 指令转发给设备上的守护进程;
- 守护进程执行查询,把设备 ID、连接状态返回给服务器;
- 服务器再将结果反馈给客户端,终端显示设备列表。
简单说:你(客户端)发命令 → 服务器转发 → 设备(守护进程)执行 → 结果回传。
1.2 ADB 的主要用途
ADB 的功能非常强大,初学者先掌握以下核心用途即可:
- 应用管理 :安装 APP(
adb install)、卸载 APP(adb uninstall)、查看已装 APP 列表; - 设备调试 :查看应用日志(
adb logcat)、调试崩溃问题、启动 / 停止应用; - 无线连接 :不用 USB 线,通过 WiFi 连接设备(
adb tcpip+adb connect); - 文件传输 :电脑与设备互传文件(
adb push/adb pull); - 设备信息查询 :查看设备型号、系统版本、电池状态等(
adb devices/adb shell getprop); - 执行 shell 命令 :在设备上执行 Linux 命令(比如
adb shell ls查看设备文件)。
2. 安装和配置 ADB
方法一:通过 Android Studio 安装(推荐)
安装Android Studio的时候,如果安装了sdk就包含adb了,如果没有安装,可以进行如下安装,步骤如下:
-
打开 Android Studio
-
进入
Tools > SDK Manager -
在
SDK Tools选项卡中,确保勾选 "Android SDK Platform-Tools" -
点击
Apply安装
✍️说明:adb程序,在sdk安装目录的文件夹platform-tools内。
方法二:独立安装
-
解压到任意目录
配置环境变量(Windows)
为了使adb命令能在终端方便的调用,把adb的路径放入系统环境变量path中:
-
右键"此电脑" > "属性" > "高级系统设置"
-
点击"环境变量"
-
在"系统变量"中找到
Path,点击"编辑" -
添加 Platform-Tools 路径:
adb在sdk安装目录的platform-tools下,在Android Studio的设置中,可以查看sdk的安装目录: -
打开命令提示符,输入
adb version验证安装- 打开终端(Windows 按
Win+R输入cmd,Mac 打开 "终端"); - 输入命令:
adb version; - 若显示版本信息(比如
Android Debug Bridge version 1.0.41),说明配置成功;若提示 "adb 未找到",请重新检查路径是否正确。类似下面界面
- 打开终端(Windows 按
📖备注(Mac/Linux 配置):
- 打开终端,输入
open ~/.bash_profile(若用 zsh 则输入open ~/.zshrc);- 在文件中添加:
export PATH=$PATH:/Users/你的用户名/Library/Android/sdk/platform-tools;- 保存文件,终端输入
source ~/.bash_profile(或source ~/.zshrc)生效。
3. 核心命令详解
💡必备条件: 所有命令都在终端中输入,执行前请确保:
- 设备已开启 "开发者选项" 和 "USB 调试"(或 "无线调试");
- 电脑与设备已通过 USB 线连接,或处于同一 WiFi 局域网(无线连接时)。
✍️提示:在手机上开启"开发者选项":
- 打开 "设置"→"关于手机"→连续点击 "版本号" 7 次(激活开发者选项);
- 返回 "设置"→找到 "系统"/"更多设置"→"开发者选项";
- 开启 "USB 调试"(无线连接需额外开启 "无线调试")。
3.1. 查看已连接设备:adb devices
作用
查看当前与电脑建立连接的 Android 设备(包括 USB 连接、无线连接、模拟器),确认设备是否能被 ADB 识别。
语法
bash
adb devices
使用步骤
- 设备通过 USB 线连接电脑(或已无线连接);
- 终端输入命令,回车。
示例输出
plaintext
List of devices attached
1234567890abcdef device # 真实设备(设备ID+状态为device表示连接成功)
emulator-5554 device # 模拟器
状态说明
device:设备正常连接(可执行命令);offline:设备已连接但未响应(可能是 USB 线松动、调试模式未开);unauthorized:设备未授权电脑调试(设备上会弹出授权弹窗,点击 "允许" 即可);- 无输出:无设备连接(检查 USB 线、调试模式)。
常见问题
若看不到设备,执行以下操作:
bash
adb kill-server # 关闭ADB服务器
adb start-server # 重启ADB服务器
3.2. 开启无线调试端口:adb tcpip
作用
将设备的 ADB 连接模式切换为 "TCP/IP 模式",为后续无线连接做准备(必须先通过 USB 线连接设备执行此命令)。
语法
bash
adb tcpip <端口号> # 端口号默认5555(常用,也可自定义1024-65535之间的端口)
使用步骤
-
设备通过 USB 线连接电脑(确保
adb devices能看到设备); -
终端输入命令(推荐用默认端口): bash
adb tcpip 5555 -
输出
restarting in TCP mode port: 5555,说明端口已开启; -
拔掉 USB 线(后续用 WiFi 连接)。
注意
- 若提示 "error: device not found",先检查 USB 连接是否正常;
- 端口号尽量用默认 5555,避免与其他程序端口冲突。
3.3. 无线连接设备:adb connect
作用
通过 WiFi 连接设备(需先执行adb tcpip开启端口),连接后可脱离 USB 线操作设备。
语法
bash
adb connect <设备IP地址>:<端口号> # 端口号与adb tcpip设置的一致(默认5555)
使用步骤
-
确保设备和电脑连接同一个 WiFi(重要!否则无法通信);
-
查看设备 IP 地址:
- 设备端:设置→WLAN→点击当前连接的 WiFi→查看 "IP 地址"(比如
192.168.1.105);
- 设备端:设置→WLAN→点击当前连接的 WiFi→查看 "IP 地址"(比如
-
终端输入命令(替换为你的设备 IP 和端口): bash
adb connect 192.168.1.105:5555 -
输出
connected to 192.168.1.105:5555,说明连接成功; -
验证:输入
adb devices,能看到设备 IP + 端口的记录,状态为device。
断开无线连接
bash
adb disconnect <设备IP>:<端口号> # 断开指定设备
# 或
adb disconnect # 断开所有无线连接的设备
注意
- 若连接失败(提示
failed to connect):- 检查设备和电脑是否同 WiFi;
- 重新执行
adb tcpip 5555(可能端口被占用); - 关闭设备防火墙,或重启设备的 "无线调试"。
3.4. 安装 APP 到设备:adb install
作用
将电脑上的 APK 文件安装到 Android 设备(比手动拷贝安装快得多,适合开发测试)。
语法
bash
adb install <APK文件路径> # 基础安装
adb install -r <APK文件路径> # 覆盖安装(保留APP数据,开发时常用)
adb install -s <APK文件路径> # 安装到SD卡(仅部分设备支持)
使用步骤
-
找到电脑上的 APK 文件(比如
app-debug.apk,Android Studio 编译后在app/build/outputs/apk/debug/目录); -
复制 APK 文件的完整路径(Windows:右键 APK→"属性"→"位置",拼接文件名;Mac:右键 APK→"显示简介"→"位置");
-
终端输入命令(替换为你的 APK 路径): bash
# Windows示例(注意路径用反斜杠或双引号包裹空格) adb install C:\Users\XXX\AndroidStudioProjects\MyApp\app\build\outputs\apk\debug\app-debug.apk # Mac示例 adb install /Users/XXX/AndroidStudioProjects/MyApp/app/build/outputs/apk/debug/app-debug.apk -
输出
Success,说明安装成功;若输出错误(比如INSTALL_FAILED_VERSION_DOWNGRADE),用-r参数覆盖安装。
常见错误解决
INSTALL_FAILED_USER_RESTRICTED:设备未开启 "USB 调试",或未授权电脑;INSTALL_FAILED_INSUFFICIENT_STORAGE:设备存储空间不足;INSTALL_PARSE_FAILED_NOT_APK:路径错误,或文件不是合法 APK。
3.5. 无线调试配对(Android 11+):adb pair
作用
Android 11(API 30)及以上版本,开启 "无线调试" 时需要先通过 "配对码" 验证,adb pair就是用来完成配对的(配对后再用adb connect连接)。
语法
bash
adb pair <设备IP地址>:<配对端口> # 配对端口不是5555,需从设备端查看
使用步骤
-
设备端开启 "无线调试"(设置→开发者选项→无线调试→开启);
-
点击 "无线调试"→选择 "使用配对码配对设备",此时会显示:
- 设备 IP 地址(比如
192.168.1.105); - 配对端口(比如
44331); - 配对码(比如
123456);
- 设备 IP 地址(比如
-
电脑与设备连接同一个 WiFi;
-
终端输入命令(替换为设备的 IP、配对端口): bash
adb pair 192.168.1.105:44331 -
终端提示
Enter pairing code:,输入设备上的配对码(比如123456),回车; -
输出
Successfully paired to 192.168.1.105:44331 [guid=xxx],配对成功; -
后续无需再配对,直接用
adb connect 192.168.1.105:5555即可无线连接。
注意
- 配对码和配对端口是临时的,重启设备后可能变化,需重新配对;
- Android 10 及以下版本无需
adb pair,直接用adb tcpip+adb connect即可。
3.6. 其他常用辅助命令(新手必备)
(1)卸载 APP:adb uninstall
bash
# 语法:adb uninstall <APP包名>(不是APP名称,需查包名)
adb uninstall com.example.myapp # 示例:卸载包名为com.example.myapp的APP
# 查APP包名的方法:
adb shell pm list packages # 列出所有已装APP的包名(筛选可用 grep,Mac/Linux用:adb shell pm list packages | grep 关键词)
(2)查看调试日志:adb logcat
APP 崩溃、报错时,用此命令查看详细日志(定位问题核心):
bash
adb logcat # 实时输出所有日志(按Ctrl+C停止)
adb logcat -s TAG名称 # 只输出指定TAG的日志(比如只看自己APP的日志,TAG在代码中定义)
(3)电脑向设备传文件:adb push
bash
# 语法:adb push <电脑文件路径> <设备存储路径>
adb push C:\test.txt /sdcard/ # 示例:将电脑的test.txt传到设备的SD卡根目录
(4)设备向电脑传文件:adb pull
bash
# 语法:adb pull <设备文件路径> <电脑存储路径>
adb pull /sdcard/test.txt C:\ # 示例:将设备SD卡的test.txt传到电脑C盘根目录
(5)重启设备:adb reboot
bash
adb reboot # 正常重启设备
adb reboot recovery # 重启到Recovery模式(刷机/清除数据时用)
3.7. 命令按功能分类汇总
(1) 设备管理
# 查看已连接设备
adb devices
# 查看设备信息
adb shell getprop ro.product.model # 设备型号
adb shell getprop ro.build.version.sdk # Android 版本
# 重启设备
adb reboot
# 进入恢复模式
adb reboot recovery
(2) 应用管理
bash
# 安装 APK
adb install app-debug.apk
# 安装并覆盖现有版本
adb install -r app-debug.apk
# 卸载应用
adb uninstall com.example.myapp
# 查看已安装应用
adb shell pm list packages
# 查看特定公司的应用
adb shell pm list packages | grep google
# 清除应用数据
adb shell pm clear com.example.myapp
(3) 文件操作
bash
# 推送文件到设备
adb push localfile.txt /sdcard/
# 从设备拉取文件
adb pull /sdcard/file.txt ./
# 查看设备文件
adb shell ls /sdcard/
# 删除设备文件
adb shell rm /sdcard/unwanted.file
(4) 日志操作
bash
# 查看完整日志
adb logcat
# 查看特定标签的日志
adb logcat -s MyAppTag
# 查看包含特定文字的日志
adb logcat | grep "error"
# 清除日志缓冲区
adb logcat -c
# 将日志保存到文件
adb logcat > log.txt
# 查看崩溃日志
adb logcat *:E
(5) 调试和测试
bash
# 启动 Activity
adb shell am start -n com.example.myapp/.MainActivity
# 发送广播
adb shell am broadcast -a com.example.MY_ACTION
# 模拟按键
adb shell input keyevent KEYCODE_HOME # 主页键
adb shell input keyevent KEYCODE_BACK # 返回键
# 模拟触摸
adb shell input tap 500 500
# 模拟滑动
adb shell input swipe 300 1000 300 500
(6) 屏幕操作
bash
# 截图
adb shell screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png ./
# 一键截图(合并命令)
adb exec-out screencap -p > screenshot.png
# 录屏(需要 Android 4.4+)
adb shell screenrecord /sdcard/demo.mp4
# 按 Ctrl+C 停止录制
adb pull /sdcard/demo.mp4 ./
4. 在 Android Studio 中使用 ADB
通过 Terminal 窗口
-
在 Android Studio 中打开底部 Terminal
-
直接输入 ADB 命令
通过 ADB Integration 插件
-
安装 ADB Idea 插件
-
右键项目或文件,选择 ADB 相关操作
常用调试场景
bash
# 重新安装应用并启动
adb install -r app-debug.apk
adb shell am start -n com.example.myapp/.MainActivity
# 查看应用特定日志
adb logcat | grep "MyApp"
# 清除应用数据并重新测试
adb shell pm clear com.example.myapp
5. 实用技巧和组合命令
一键安装并启动
bash
adb install -r app-debug.apk && adb shell am start -n com.example.myapp/.MainActivity
监控应用崩溃
bash
adb logcat *:E | grep -A 10 -B 5 "AndroidRuntime"
批量安装 APK
bash
for apk in *.apk; do adb install "$apk"; done
获取设备信息摘要
bash
echo "设备型号: $(adb shell getprop ro.product.model)"
echo "Android版本: $(adb shell getprop ro.build.version.release)"
echo "API级别: $(adb shell getprop ro.build.version.sdk)"
6、常见问题排查(新手避坑)
-
adb devices看不到设备:- 检查 USB 线是否完好(换一根试试);
- 设备是否开启 "USB 调试",且授权电脑;
- 安装设备驱动(Windows 需安装手机厂商驱动,或用豌豆荚、360 手机助手自动装驱动);
- 执行
adb kill-server && adb start-server重启 ADB。
-
无线连接失败(
adb connect提示失败):- 设备和电脑必须同 WiFi,且 IP 地址输入正确;
- 重新执行
adb tcpip 5555(端口可能被占用); - Android 11 + 需先执行
adb pair配对; - 关闭设备的 VPN、防火墙。
-
adb install提示 "权限不足":- 设备开启 "允许安装来自未知来源的应用"(设置→安全→未知来源);
- 若为系统 APP,需 root 设备(新手不建议)。