一、Fastboot是什么?
1.1 首先介绍Recovery模式(卡刷)
在系统进行定制时,编译系统会编译出一份ZIP的压缩包,里面是一些系统分区镜像,提供给客户进行手动升级、恢复系统。需要提前将压缩包内置SDcard,在Recovery模式进行。进入Recovery方法:将手机完全关机后,按住音量键下(上)+电源键,进入BootLoader界面。用音量加减来控制光标,电源键来进行确认(有的机器只能用音量下键进行选择,上键是确认键)。说明:有的机器可能没有预装Recovery。
1.2 介绍Recovery模式(线刷)
在安卓手机中Fastboot是一种比Recovery更底层的刷机模式。使用USB数据线连接手机的一种刷机模式。这就是所谓的线刷,与Recovery模式相比Fastboot需要掌握一些烧机命令,对于某些系统卡刷来说,线刷更可靠,安全。
二、Android系统分区介绍
hboot——系统开机引导类似电脑BIOS,这块刷错手机就会变成砖
radio——通讯模块、基带、WIFI、Bluetooth等衔接硬件的驱动软件
recovery——系统故障时负责恢复
boot——Linux嵌入式系统内核
system——系统文件、应用
cache——系统运行时产生的缓存
userdata——用户使用APP产生的缓存数据
三、Fastboot环境搭建
3.1 Android SDK工具platform-tools目录附图:
进入这个目录下就可以使用adb、fastboot命令了,也可以先配置环境变量就不用每次这么麻烦。可以把这个目录单独拷贝出来,携带方便一点,SDK太大了。其实很多刷机工具、刷机脚本都是围绕此工具进行刷机的,使用的也就是adb、fastboot命令,只不过别人将各种情况判断写成程序而已。
四、Fastboot刷机命令
4.1 写入分区步骤以及命令
4.1.1 adb devices——查看手机是否连接上
4.1.2 adb reboot bootloader——将手机重启到Fastboot模式
4.1.3 fastboot devices——查看Fastboot模式下连接的手机
4.1.4 几种分区写入如下:(例如:system.img刷入的分区电脑上具体的路径)
-
fastboot flash system system.img
-
fastboot flash boot boot.img
-
fastboot flash radio radio.img
-
...
4.1.5 fastboot reboot——Fastboot模式下重启手机
4.2 擦除分区命令
擦除分区前需要按照4.1.1——4.1.3步骤走一遍,擦除会将该分区恢复到使用前状态
-
fastboot erase system
-
fastboot erase boot
-
...
【准备工作】
首先需要准备好刷机包,可以是自己编译的,也可以是从别处拷贝的,但一定要确保刷机包适用于你的 Android 设备。然后解压刷机包,解压后我们可以得到 boot.img、recovery.img、system.img、bootloader 文件,正是这些文件构成了 Android 设备的系统。
让设备进入 fastboot 环境。有 2 种方法:
执行命令 adb reboot fastboot
或者
同时按住 增加音量 和 电源 键开机。
【命令执行流程】
在设备进入到 fastboot 环境后,根据需求执行下面的命令进行刷机:
fastboot flashing unlock # 设备解锁,开始刷机
fastboot flash boot boot.img # 刷入 boot 分区。如果修改了 kernel 代码,则应该刷入此分区以生效
fastboot flash recovery recovery.img # 刷入 recovery 分区
fastboot flash country country.img # 刷入 country 分区。这个分区是开发组自己划分的,别的 Android 设备上不一定有
fastboot flash system system.img # 刷入 system 分区。如果修改的代码会影响 out/system/ 路径下生成的文件,则应该刷入此分区以生效
fastboot flash bootloader bootloader # 刷入 bootloader
fastboot erase frp # 擦除 frp 分区,frp 即 Factory Reset Protection,用于防止用户信息在手机丢失后外泄
fastboot format data # 格式化 data 分区
fastboot flashing lock # 设备上锁,刷机完毕
fastboot continue # 自动重启设备