核心区别:adb 在系统运行时用,fastboot 在 bootloader 阶段用。
具体对比:
• 运行阶段
- adb (Android Debug Bridge) :Android 系统已经启动后使用,需要 adbd 服务运行。
- fastboot :在 bootloader / fastboot mode 下使用,系统还没启动。
• 用途
-
adb
- 调试设备
- 安装应用 adb install
- 传文件 adb push / pull
- 查看日志 adb logcat
- 执行 shell adb shell
- 重启到 bootloader adb reboot bootloader
-
fastboot
- 刷写分区 fastboot flash
- 解锁 bootloader fastboot flashing unlock
- 临时启动镜像 fastboot boot
- 擦除分区 fastboot erase
- 查询设备信息 fastboot getvar
• 依赖条件
-
adb
- Android 系统必须启动
- USB 调试开启
- adbd 正在运行
-
fastboot
- 设备进入 bootloader / fastboot mode
- 不依赖 Android 系统
• 典型使用流程
开发 / 日常调试:
adb devices
adb install app.apk
adb logcat
刷机 / 系统级修改:
adb reboot bootloader
fastboot devices
fastboot flash boot boot.img
fastboot reboot
一句话总结:
- adb = 操作 Android 系统
- fastboot = 操作 Android 系统下面的分区(系统本身还没启动)
如果你做 Android 开发或刷机,我也可以给你画一个 Android 启动 + adb/fastboot 所在位置的结构图,会非常清晰。