Fastboot,英语翻译意思是快速启动。在安卓手机中fastboot是一种比recovery更底层的刷机模式(俗称引导模式)。
Fastboot源码路径: \bootable\bootloader
Fastboot编译后路径: out/host/linux-x86/bin/fastboot
- 进入Fastboot
目前主流Android手机进入Fastboot的方式为【音量-】+【电源键】;或者使用命令: adb reboot bootloader
- Fastboot命令
fastboot <命令> [ <选项> ]
可用命令:
update <文件名> 从官方update.zip升级系统.该update.zip必须是官方的
flashall 'flash boot' +'flash system'
flash <分区名> [ <文件名> ].如:fastboot flash system system.img 将文件写入分区.文件必须正确的格式.分区名有但不限于system,recovery,boot,splash1,hboot,radio,userdata,cache
erase <分区名> 清空一个分区.如,fastboot erase system
getvar <参数名> 显示一个启动参数.如:fastboot getver:version(查看版本号)
boot <内核文件> [ <ramdisk文件> ] 将电脑上的内核下载到手机并用该内核启动系统.
flash:raw boot <内核文件> [ <ramdisk文件> ] 创建boot.img并下载到手机启动系统.
devices 列出所有与电脑连接的设备.
reboot 正常启动系统
reboot-bootloader 启动系统到hboot
选项
-w 清空用户数据分区和缓存分区.相当于recovery中的"wipe data/factoryreset"
-s <串口号> 指定要操作的设备的串口号
-p <产品名> 指定要操作的设备的产品名.比如hero,bravo,dream...
-c <命令行> 用命令行替换系统的启动命令行.
分区
system:系统分区.我们刷机器一般就是刷的这个分区.
userdata:数据分区.
cache:缓存分区
recovery:Recovery分区.
boot:存放内核和ramdisk的分区.
hboot:这个是SPL所在的分区.很重要哦.也是fastboot所在的分区.刷错就真的变砖了.
splash1:这个就是开机第一屏幕了.
radio:这个是基带所在的分区.
fastboot刷机步骤:
1.代码编译完成后配置环境变量ANDROID_PRODUCT_OUT=\\~\target\product\ansen-xxx-项目名
2.adb reboot bootloader
3.fastboot flashall -w //fastboot flashall命令会在当前目录中查找所有img文件,将这些img文件烧写到所有对应的分区中,并重新启动手机
fastboot刷指定分区
adb reboot bootloader
fastboot devices
//切换到boot.img所在的目录
fastboot flash boot boot.img
fastboot flash system system.img
fastboot reboot