Android 的基本概念
Android 的基本概念
目录
可直接点击文字跳转至对应章节
简介
如果你刚开始接触 Android 刷机、Root 或者换 ROM,多半会被一堆术语搞晕:什么是 Bootloader?fastboot 和 ADB 有什么区别?为什么有人说”卡刷”,有人说”线刷”?AVB 又是什么东西?
这篇文章不会直接告诉你”怎么刷机”,而是把这些概念理一遍。遇到不认识的词,可以回来查。
Android 与 AOSP
先从最基础的说起:Android 系统是从哪来的?
AOSP(Android Open Source Project)是 Google 开源的 Android 基础代码。所有 Android 设备,不管是 Google 自己的 Pixel,还是小米、三星、OPPO 的定制系统,甚至社区维护的第三方 ROM,都是在 AOSP 的基础上改出来的。
- Pixel — Google 基于 AOSP 做的最接近原生的版本
- HyperOS / One UI / ColorOS — 各家厂商的定制版本
- LineageOS / crDroid — 社区维护的第三方 ROM
那 Android 底层是什么呢?答案是 Linux 内核。所以后面你会看到的 Root、SELinux、su 这些概念,其实都能绕回 Linux 的权限体系。
Bootloader(BL)
你有没有想过:手机开机的时候,谁先跑起来?
答案是 Bootloader(引导加载程序)。它负责在系统启动之前初始化硬件,然后决定是否继续加载后面的镜像。
出厂时,Bootloader 通常是锁着的,只允许加载厂商认可并签名的镜像。这就是为什么你不能随便刷写第三方系统——Bootloader 会拒绝加载它。
那解锁 BL 之后呢?
解锁之后,设备允许加载第三方引导程序,你才能修改 boot、vbmeta、init_boot 这些关键分区。但这也带来了新问题:解锁时大多数设备会自动格式化 userdata 分区,也就是清空数据。部分品牌(比如三星)还会熔断 eFuse(Knox),不可逆。
解锁前后的区别
BL 带锁时:
- Bootloader 只信任厂商认可的签名
- 关键分区被修改后,设备通常直接拒绝启动
BL 解锁后:
- 允许加载第三方引导程序
- 你可以刷写修改过的镜像
- 重启时会显示”设备已解锁”的警告
解锁命令通常是:
fastboot flashing unlock解锁时大多数设备会自动格式化 userdata 分区,也就是清空数据。部分品牌还会熔断 eFuse(如三星 Knox),不可逆。
各家解锁政策
不同厂商对解锁的态度差别很大:
- Google Pixel — 最简单,直接
fastboot flashing unlock - 小米 — 国内现在基本走不了官方渠道,账号、答题、等待期都加上了
- 一加 / OPPO — 很多机型要走深度测试或审核流程
- 三星 — 限制更重,不同地区差异很大
- vivo / 荣耀 / 华为 — 官方一般不开放解锁路径
如果你打算刷机,最好买设备之前先查一下能不能解锁 BL。
fastboot 与 EDL
解锁了 BL 之后,怎么和设备通信呢?这就要用到 fastboot。
fastboot 是 PC 和 Bootloader 之间通信的协议。手机进入 fastboot 模式后,你可以在电脑上直接操作设备:
# 解锁 BLfastboot flashing unlock
# 刷写镜像到指定分区fastboot flash boot patched_boot.img
# 临时启动一个镜像(不写入分区)fastboot boot recovery.img
# 重启设备fastboot reboot这里特别注意 fastboot boot 这个命令——它只是临时启动一个镜像,不会写进分区。重启之后设备会恢复原样。这在测试 Recovery 或者修补过的 boot 时特别有用:你可以先临时启动看看效果,确认没问题再正式刷写。
那 EDL 是什么?
EDL(Emergency Download Mode,也叫 9008 模式)是高通平台更底层的救砖模式。当设备完全开不了机、fastboot 也进不去的时候,EDL 可能是最后的救命稻草。
不过 EDL 一般需要授权文件或者官方工具才能用,普通情况下用不到。
ADB
你可能听说过 ADB,也可能听说过 fastboot,那它们是一回事吗?
不是。它们工作在不同的阶段:
- fastboot — 工作在 Bootloader 阶段,设备还没启动系统
- ADB(Android Debug Bridge)— 工作在系统或 Recovery 启动之后
ADB 是日常调试最常用的工具。你可以用它查看设备状态、推送文件、安装应用、进入 shell:
# 查看连接的设备adb devices
# 进入设备的 shelladb shell
# 推送文件到设备adb push local_file /sdcard/
# 从设备拉取文件adb pull /sdcard/remote_file ./
# 安装 APKadb install app.apk所以如果有人让你”在 fastboot 模式下用 ADB”,那肯定是搞混了——fastboot 模式下只能用 fastboot 命令,ADB 要等系统启动起来才能用。
Recovery
你有没有想过:如果系统坏了,连桌面都进不去,怎么修复?
这就是 Recovery 存在的意义。它是独立于主系统之外的一个小环境,主要用来做系统维护——刷写升级包、清分区、恢复出厂设置、备份和恢复。
出厂自带的 Recovery 功能通常比较有限,只能刷写官方签名的 OTA 包。如果你想刷写第三方 ROM 或者 Magisk,就需要第三方 Recovery。
常见的第三方 Recovery 有:
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
部分内容可能已过时