一、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 # 自动重启设备