adb 详解

目录

背景

目的

[一、设备连接与刷机(ADB / Fastboot)](#一、设备连接与刷机(ADB / Fastboot))

[二、ADB Shell 常用操作](#二、ADB Shell 常用操作)

[三、Windows 批处理(.bat)常用](#三、Windows 批处理(.bat)常用)


ADB(Android Debug Bridge) 是 Android SDK 里的一套客户端--服务端调试桥,用来在电脑和 Android 设备(真机或模拟器)之间传命令、传文件、看日志。

背景

早期 Android 设备没有统一、稳定的 PC 侧调试通道:刷机、装包、抓 log、跑 shell 各自为政。Google 在 Android SDK 里做了 ADB,把这些能力收成一套标准协议和工具链,成为官方调试入口。

它通常由三部分组成:

  1. Client(PC 上的 adb 命令) --- 你敲的 adb shelladb logcat
  2. Server(PC 上的后台进程) --- 管设备连接、转发命令
  3. Daemon(adbd,跑在设备上) --- 在设备侧执行命令、响应请求

连接方式常见是 USB,也可走 TCP/IP(无线调试)。

目的

核心目的:给开发/测试一条可控的设备通道,而不必依赖 App 自己的 UI。常见用途:

目的 典型用法
安装/调试应用 adb installadb shell am start
查看运行状态与日志 adb logcatadb shell dumpsys
文件传输 adb push / adb pull
设备控制与诊断 adb rebootadb shell、权限/属性查看
自动化与 CI 脚本批量连设备、跑测试、抓取现场信息

对相机/HAL 开发来说,ADB 常用来抓 logcat、拉 dump、推 so/配置、切属性,是联调真机时的基础通道。

一句话:ADB 的背景是统一 Android 调试接口;目的是让 PC 能安全、标准地控制与观测设备,支撑开发、测试和问题定位。

执行adb命令前最好手机解锁,现在手机解锁已经开发出了不少工具,一般来说不需要通过fastboot去解锁,只是xts推gsi等镜像文件等需要。不过对应知识可以了解掌握

一、设备连接与刷机(ADB / Fastboot)

用途 命令 说明
检测设备连接 adb devices 正常时显示序列号 + device
等待设备连接后再执行 adb wait-for-device 常放在脚本开头
Fastboot 下检测设备 fastboot devices 需先进入 bootloader
Fastboot 下等待设备 fastboot wait-for-device
重启手机 adb reboot
重启进 EDL adb reboot edl 高通紧急下载模式
进入 Fastboot adb reboot bootloader
解锁(Fastboot) fastboot flashing unlock 会清数据,需确认风险
刷底层分区 fastboot flash <分区> <镜像> 例:fastboot flash boot boot.img
获取 root(adbd) adb root 推库前常需先执行
关闭 verity adb disable-verity 执行后需重启
remount 系统分区 adb remount 首次后常需重启;推库前常用
安装 APK adb install <apk路径> 覆盖安装可用 -r
拉取文件 adb pull <设备路径> [本地路径]
推入文件 adb push <本地路径> <设备路径>

推库常见顺序(示意):

adb rootadb disable-verity → 重启 → adb rootadb remountadb push ...


二、ADB Shell 常用操作

用途 命令 说明
进入 shell adb shell 输入 exit 退出
进入目录 cd <路径> 在 shell 内执行
查看目录 ls 也可 adb shell ls <路径>
新建文件夹 mkdir <路径>
删除文件/目录 rm <路径> / rm -r <目录> 慎用,务必指定目标
创建空文件 touch <文件>
修改权限 chmod <模式> <文件>
杀进程 pkill <进程名>adb shell pkill <进程名>
写内容 echo <内容> > <文件>
查看文件内容 cat <文件>
读设备属性 adb shell getprop / getprop <key>
改设备属性 adb shell setprop <key> <value> 部分属性需权限
截屏 adb shell screencap -p /sdcard/screen.png adb pull 到电脑
模拟点击 adb shell input tap <x> <y> 坐标点击,不是截屏
抓 log adb shell logcatadb logcat

表中 touch / chmod / echo / cat 一般在已进入 adb shell 后使用;也可写成 adb shell touch ... 一次执行。


三、Windows 批处理(.bat)常用

用途 语法 说明 / 示例
隐藏本行回显 @命令 @echo helloworld
关闭后续回显 echo off 常写作 @echo off 放脚本首行
显示内容 echo XXX
注释 rem XXX 也可用 :: 注释
暂停 pause 按任意键继续
重定向 > / >> > 覆盖,>> 追加
新建文件夹 mdmkdir 原表写"mk",正确为 md/mkdir
重命名 rename / ren ren old.txt new.txt
简单变量 set n=1 使用 %n%
交互输入 set /p n=提示: 从键盘读入
命令组合 & / && / `
查找文本 find 在文件中搜字符串

脚本示例

@echo off

adb wait-for-device

adb devices

adb root

adb remount

adb push mylib.so /vendor/lib64/

pause

相关推荐
雨声不在19 小时前
USB 网络共享 + adb 无权限问题排查
adb
王琦03181 天前
第二章 MySQL集群高可用架构
mysql·adb·架构
深念Y1 天前
hotspot-adb-research
linux·数据库·adb·emmc·随身wifi·移动终端
小Ti客栈2 天前
MySQL查询原理:从Server到InnoDB
android·mysql·adb
深念Y2 天前
老Flyme 官方 root 开启 ADB TCP 方案
linux·数据库·网络协议·tcp/ip·adb·智能手机·emmc
00后程序员张3 天前
抓包鹰 电脑本机网络连接表怎么看?哪些程序在联网 进程归属与可疑 IP 追溯
网络协议·计算机网络·网络安全·ios·adb·https·udp
OceanWaves19933 天前
mysql 5.7.29 主从同步配置
数据库·mysql·adb
九皇叔叔3 天前
RHEL9 安装 MySQL 8.4.11.LTS 版本
android·mysql·adb
灵析表格3 天前
Excel连接MySQL的函数化革命:灵析表格MySQL函数族业务应用分析
数据库·mysql·adb·excel·wps·灵析表格·excel公式盒子