【App开发】ADB 详细使用教程- Android 开发新人指南

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、查看设备信息)
工作流程示例(以 "查看设备列表" 为例):
  1. 你在电脑终端输入adb devices(客户端发起指令);
  2. 电脑上的 ADB 服务器接收指令,检查是否已连接设备;
  3. 服务器将 "查询设备" 指令转发给设备上的守护进程;
  4. 守护进程执行查询,把设备 ID、连接状态返回给服务器;
  5. 服务器再将结果反馈给客户端,终端显示设备列表。

简单说:你(客户端)发命令 → 服务器转发 → 设备(守护进程)执行 → 结果回传

1.2 ADB 的主要用途

ADB 的功能非常强大,初学者先掌握以下核心用途即可:

  1. 应用管理 :安装 APP(adb install)、卸载 APP(adb uninstall)、查看已装 APP 列表;
  2. 设备调试 :查看应用日志(adb logcat)、调试崩溃问题、启动 / 停止应用;
  3. 无线连接 :不用 USB 线,通过 WiFi 连接设备(adb tcpip+adb connect);
  4. 文件传输 :电脑与设备互传文件(adb push/adb pull);
  5. 设备信息查询 :查看设备型号、系统版本、电池状态等(adb devices/adb shell getprop);
  6. 执行 shell 命令 :在设备上执行 Linux 命令(比如adb shell ls查看设备文件)。

2. 安装和配置 ADB

方法一:通过 Android Studio 安装(推荐)

安装Android Studio的时候,如果安装了sdk就包含adb了,如果没有安装,可以进行如下安装,步骤如下:

  1. 打开 Android Studio

  2. 进入 Tools > SDK Manager

  3. SDK Tools 选项卡中,确保勾选 "Android SDK Platform-Tools"

  4. 点击 Apply 安装

✍️说明:adb程序,在sdk安装目录的文件夹platform-tools内。

方法二:独立安装

  1. 下载 Platform-Tools

  2. 解压到任意目录

配置环境变量(Windows)

为了使adb命令能在终端方便的调用,把adb的路径放入系统环境变量path中:

  1. 右键"此电脑" > "属性" > "高级系统设置"

  2. 点击"环境变量"

  3. 在"系统变量"中找到 Path,点击"编辑"

  4. 添加 Platform-Tools 路径:

    复制代码
    adb在sdk安装目录的platform-tools下,在Android Studio的设置中,可以查看sdk的安装目录:
  5. 打开命令提示符,输入 adb version 验证安装

    1. 打开终端(Windows 按Win+R输入cmd,Mac 打开 "终端");
    2. 输入命令:adb version
    3. 若显示版本信息(比如Android Debug Bridge version 1.0.41),说明配置成功;若提示 "adb 未找到",请重新检查路径是否正确。类似下面界面

📖备注(Mac/Linux 配置):

  1. 打开终端,输入open ~/.bash_profile(若用 zsh 则输入open ~/.zshrc);
  2. 在文件中添加:export PATH=$PATH:/Users/你的用户名/Library/Android/sdk/platform-tools
  3. 保存文件,终端输入source ~/.bash_profile(或source ~/.zshrc)生效。

3. 核心命令详解

💡必备条件: 所有命令都在终端中输入,执行前请确保:

  • 设备已开启 "开发者选项" 和 "USB 调试"(或 "无线调试");
  • 电脑与设备已通过 USB 线连接,或处于同一 WiFi 局域网(无线连接时)。

✍️提示:在手机上开启"开发者选项":

  • 打开 "设置"→"关于手机"→连续点击 "版本号" 7 次(激活开发者选项);
  • 返回 "设置"→找到 "系统"/"更多设置"→"开发者选项";
  • 开启 "USB 调试"(无线连接需额外开启 "无线调试")。

3.1. 查看已连接设备:adb devices

作用

查看当前与电脑建立连接的 Android 设备(包括 USB 连接、无线连接、模拟器),确认设备是否能被 ADB 识别。

语法

bash

复制代码
adb devices
使用步骤
  1. 设备通过 USB 线连接电脑(或已无线连接);
  2. 终端输入命令,回车。
示例输出

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之间的端口)
使用步骤
  1. 设备通过 USB 线连接电脑(确保adb devices能看到设备);

  2. 终端输入命令(推荐用默认端口): bash

    复制代码
    adb tcpip 5555
  3. 输出restarting in TCP mode port: 5555,说明端口已开启;

  4. 拔掉 USB 线(后续用 WiFi 连接)。

注意
  • 若提示 "error: device not found",先检查 USB 连接是否正常;
  • 端口号尽量用默认 5555,避免与其他程序端口冲突。

3.3. 无线连接设备:adb connect

作用

通过 WiFi 连接设备(需先执行adb tcpip开启端口),连接后可脱离 USB 线操作设备。

语法

bash

复制代码
adb connect <设备IP地址>:<端口号>  # 端口号与adb tcpip设置的一致(默认5555)
使用步骤
  1. 确保设备和电脑连接同一个 WiFi(重要!否则无法通信);

  2. 查看设备 IP 地址:

    • 设备端:设置→WLAN→点击当前连接的 WiFi→查看 "IP 地址"(比如192.168.1.105);
  3. 终端输入命令(替换为你的设备 IP 和端口): bash

    复制代码
    adb connect 192.168.1.105:5555
  4. 输出connected to 192.168.1.105:5555,说明连接成功;

  5. 验证:输入adb devices,能看到设备 IP + 端口的记录,状态为device

断开无线连接

bash

复制代码
adb disconnect <设备IP>:<端口号>  # 断开指定设备
# 或
adb disconnect  # 断开所有无线连接的设备
注意
  • 若连接失败(提示failed to connect):
    1. 检查设备和电脑是否同 WiFi;
    2. 重新执行adb tcpip 5555(可能端口被占用);
    3. 关闭设备防火墙,或重启设备的 "无线调试"。

3.4. 安装 APP 到设备:adb install

作用

将电脑上的 APK 文件安装到 Android 设备(比手动拷贝安装快得多,适合开发测试)。

语法

bash

复制代码
adb install <APK文件路径>  # 基础安装
adb install -r <APK文件路径>  # 覆盖安装(保留APP数据,开发时常用)
adb install -s <APK文件路径>  # 安装到SD卡(仅部分设备支持)
使用步骤
  1. 找到电脑上的 APK 文件(比如app-debug.apk,Android Studio 编译后在app/build/outputs/apk/debug/目录);

  2. 复制 APK 文件的完整路径(Windows:右键 APK→"属性"→"位置",拼接文件名;Mac:右键 APK→"显示简介"→"位置");

  3. 终端输入命令(替换为你的 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
  4. 输出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,需从设备端查看
使用步骤
  1. 设备端开启 "无线调试"(设置→开发者选项→无线调试→开启);

  2. 点击 "无线调试"→选择 "使用配对码配对设备",此时会显示:

    • 设备 IP 地址(比如192.168.1.105);
    • 配对端口(比如44331);
    • 配对码(比如123456);
  3. 电脑与设备连接同一个 WiFi;

  4. 终端输入命令(替换为设备的 IP、配对端口): bash

    复制代码
    adb pair 192.168.1.105:44331
  5. 终端提示Enter pairing code:,输入设备上的配对码(比如123456),回车;

  6. 输出Successfully paired to 192.168.1.105:44331 [guid=xxx],配对成功;

  7. 后续无需再配对,直接用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 窗口

  1. 在 Android Studio 中打开底部 Terminal

  2. 直接输入 ADB 命令

通过 ADB Integration 插件

  1. 安装 ADB Idea 插件

  2. 右键项目或文件,选择 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、常见问题排查(新手避坑)

  1. adb devices看不到设备

    • 检查 USB 线是否完好(换一根试试);
    • 设备是否开启 "USB 调试",且授权电脑;
    • 安装设备驱动(Windows 需安装手机厂商驱动,或用豌豆荚、360 手机助手自动装驱动);
    • 执行adb kill-server && adb start-server重启 ADB。
  2. 无线连接失败(adb connect提示失败)

    • 设备和电脑必须同 WiFi,且 IP 地址输入正确;
    • 重新执行adb tcpip 5555(端口可能被占用);
    • Android 11 + 需先执行adb pair配对;
    • 关闭设备的 VPN、防火墙。
  3. adb install提示 "权限不足"

    • 设备开启 "允许安装来自未知来源的应用"(设置→安全→未知来源);
    • 若为系统 APP,需 root 设备(新手不建议)。
相关推荐
未知名Android用户1 分钟前
Android动态变化渐变背景
android
nono牛1 小时前
Gatekeeper 的精确定义
android
stevenzqzq2 小时前
android启动初始化和注入理解3
android
城东米粉儿4 小时前
compose 状态提升 笔记
android
粤M温同学5 小时前
Android 实现沉浸式状态栏
android
ljt27249606615 小时前
Compose笔记(六十八)--MutableStateFlow
android·笔记·android jetpack
stevenzqzq6 小时前
Android Studio 断点调试核心技巧总结
android·ide·android studio
aqi007 小时前
FFmpeg开发笔记(九十八)基于FFmpeg的跨平台图形用户界面LosslessCut
android·ffmpeg·kotlin·音视频·直播·流媒体
stevenzqzq8 小时前
android Initializer 启动入门
android