ADB 操作命令详解及用法大全

ADB 简介

ADB,全称 Android Debug Bridge,是 Google 提供的一款用于 Android 平台设备(包括真机和模拟器)调试、交互和管理的命令行工具。通过 ADB,开发者可以在电脑上对连接的 Android 设备执行一系列高级操作,如安装/卸载应用、推送/拉取文件、运行 shell 命令、截图、录制视频、查看日志等。ADB 采用客户端-服务器架构,包括以下三个主要组件:

  1. 客户端:在开发计算机上运行,接收用户输入的 ADB 命令并将其发送给服务器。
  2. 服务器:在开发计算机上作为后台进程运行,负责管理和转发客户端与设备间的所有通信。
  3. 后台程序(Daemon):在每台连接的 Android 设备或模拟器上作为后台进程运行,接收并执行服务器转发的命令。

下面详细介绍一些常用的 ADB 命令及其用法:

基础操作

启动/停止 ADB 服务
  • 启动 ADB 服务:

    复制代码
    adb start-server
  • 停止 ADB 服务:

    复制代码
    adb kill-server
连接设备
  • 列出所有已连接设备:

    复制代码
    adb devices
  • 指定设备 (对于多设备环境,通过 -s 参数指定设备的序列号或IP:port):

    复制代码
    adb -s <device_serial> <command>

应用管理

安装应用
  • 安装 APK 文件(替换现有安装或新安装):

    复制代码
    adb install path/to/your/app.apk
  • 静默安装(无用户确认界面)(需要设备具有root权限):

    复制代码
    adb install -r -s path/to/your/app.apk
卸载应用
  • 通过包名卸载应用 :

    复制代码
    adb uninstall <package_name>
应用数据管理
  • 清除应用数据(重置应用) :

    复制代码
    adb shell pm clear <package_name>
应用控制
  • 强制停止应用:

    复制代码
    adb shell am force-stop <package_name>
  • 启动应用:

    复制代码
    adb shell am start -n <package_name>/<activity_name>

文件传输

推送文件到设备
  • 将本地文件复制到设备 :

    复制代码
    adb push local_path device_path
从设备拉取文件
  • 将设备上的文件复制到本地 :

    复制代码
    adb pull device_path local_path

屏幕截图与视频录制

截图
  • 保存当前屏幕为 PNG 图片:

    复制代码
    adb shell screencap -p /sdcard/screen.png

    然后使用 adb pull 将截图文件拉取到本地:

    复制代码
    adb pull /sdcard/screen.png local_path
录制屏幕视频
  • 使用第三方工具(如 screenrecord)录制设备屏幕:

    复制代码
    adb shell screenrecord /sdcard/video.mp4

    录制完成后,使用 adb pull 下载视频:

    复制代码
    adb pull /sdcard/video.mp4 local_path

设备 Shell 命令执行

  • 进入设备的 Shell 环境:

    复制代码
    adb shell
  • 在 Shell 中执行单条命令(无需进入 Shell):

    复制代码
    adb shell <command>
  • 切换目录(在 Shell 环境中):

    复制代码
    cd <directory>

端口转发与网络相关

  • 端口转发(将主机端口映射到设备上的指定端口):

    复制代码
    adb forward tcp:<host_port> tcp:<device_port>
  • 设置设备网络代理:

    复制代码
    adb shell settings put global http_proxy <proxy_host>:<proxy_port>

日志与调试

  • 查看设备日志(实时输出):

    复制代码
    adb logcat [options] [filters]

    其中,options 可以包括 -v <format>(指定输出格式)、-s(仅显示选中的标签)等,filters 可以是标签(tag)或优先级(priority),如 *:S 表示过滤掉所有 silent 优先级及以下的日志。

  • 截取日志到文件:

    复制代码
    adb logcat -v long > log.txt

其他实用命令

  • 重启设备:

    复制代码
    adb reboot
  • 进入/退出 Recovery 模式:

    复制代码
    adb reboot recovery
    adb reboot bootloader
  • 安装系统更新包(OTA ZIP):

    复制代码
    adb sideload update.zip
相关推荐
文人sec6 天前
grant 之后要跟着 flush privileges 吗?要不要使用分区表?
数据库·mysql·adb·数据分析
2501_916008897 天前
SSE 和 gRPC 流式接口如何抓包,调试 SSE 与 gRPC 流式接口
网络协议·计算机网络·网络安全·ios·adb·https·udp
2501_9160088910 天前
全平台抓包工具,Windows、iPhone、Linux三个平台抓包测试
网络协议·计算机网络·网络安全·ios·adb·https·udp
鸽芷咕12 天前
MySQL Server 鸿蒙 PC 适配全记录:以混合工具链完成 C++23 交叉编译与 HNP 交付
adb·harmonyos·c++23
游戏开发爱好者815 天前
网络连接排查指南,谁在电脑后台偷跑流量,哪些程序在联网
网络协议·计算机网络·网络安全·ios·adb·https·udp
实心儿儿15 天前
MySQL 的安装
数据库·mysql·adb
2601_9623004715 天前
基于Python与Tkinter的ADB Monkey自动化测试脚本开发
python·adb·tkinter·android测试·gui自动化
flower_drop17 天前
基于 WebUSB 与 CDP:在浏览器端实现 Android 设备通信与无证书抓包实践
android·chrome·测试工具·adb·bug·edge浏览器
蜡台17 天前
# 已解决|MySQL 8\.4\.11 密码正确仍报错1045 \(28000\) Access denied 终极修复方案
android·mysql·adb
leoZ23117 天前
2026-09-08-mysql-57-init-walkthrough
前端·javascript·数据库·vue.js·opencv·mysql·adb