Android 设备刷机
Nexus 5x 线刷,升 7.1.1。
前言
简单记录下 Android 手机线刷流程。
简介
- 线刷 就是用 USB 线连接电脑手机,然后在电脑上使用 adb 工具包刷机。
- 卡刷 就是把固件包装到 SD 卡中,然后在 recovery 模式下刷机。
- Factory Image,顾名思义就是工厂镜像,再顾名思义就是官方推出的 ROM 刷机包。
- OTA Image (Over The Air),空中升级,就是所谓的官方推送的升级补丁。
- bootloader 在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
- radio 是 Andorid 中的基带(Baseband)所在的分区
- system 是 Andorid 中的系统分区
- vendor 是 Andorid 中的驱动分区,例如相机驱动、音频驱动等。
- userdata 是 Android 中的用户数据分区。
- boot 是 Android 中存放内核的分区
- recovery 是 Android 中存放 recovery 的分区,recovery 即是手机的恢复模式。
- cache 是缓存分区
- data 存放 app 数据
必备软件
- adb (Android Debug Bridge),即 Android 调试桥,是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。
- Google USB 驱动程序,macOS 和 Linux 不需要。
常用命令
- 刷写命令:
- 刷入 Bootloader 文件:
fastboot flash bootloader [ImagePath]
- 刷入基带文件:
fastboot flash radio [ImagePath]
- 刷入系统文件:
fastboot flash system [ImagePath]
- 刷入驱动文件:
fastboot flash vendor [ImagePath]
- 刷入用户数据:
fastboot flash userdata [ImagePath]
- 刷入 boot 文件:
fastboot flash boot [ImagePath]
- 刷入 Recovery 文件:
fastboot flash recovery [ImagePath]
- 刷入 Bootloader 文件:
- 数据清除命令:
- 清空 cache 分区:
fastboot erase cache
- 清除缓存文件:
fastboot flash cache [ImagePath]
- 格式化内部存储数据:
fastboot format userdata
- 格式化设备全部数据:
fastboot -w
- 清空 cache 分区:
- 重启命令
- 重启到 BL 模式:
fastboot reboot bootloader
- 重启设备:
fastboot reboot
- 重启到 BL 模式:
线刷操作流程
Android Studio 会自带 adb 工具
bootloader 解锁后,将取消保修资格。但刷机一定要解锁。不然变砖没法玩了。
刷机会清除手机内的数据,注意备份
刷机有风险
打开 设置 -> 安全 -> 设备管理器 -> 取消激活 Android 设备管理器
5.1 版本后加入了防盗机制,如登陆过 Google 账户,将会自动打开设备锁定功能。刷机后,不能跳过网络验证服务,必须连接 WI-FI。如不能连接上 Google 服务器,将会一直卡在验证界面。若出现该情况,只有通过路由器挂梯子或其它设备挂梯子共享 WI-FI 或刷第三方无 Google 服务的包,进入系统后,再刷官方镜像
打开 设置 -> 关于手机 -> 点击版本号 7 次,以打开开发者选项
在 开发者选项 中,打开 USB 调试,打开 OEM 解锁(大概是 5.0 版本加上的)
通过 USB 连接到设备
查看当前连接设备,若有连接设备,将显示连接设备信息
1
adb devices
重启至 bootloader
1
adb reboot bootloader
设备进入 bootloader 模式后,解锁 bootloader
1
fastboot oem unlock
这时在设备上会出现一个解锁界面,使用音量上下选择 YES,稍等片刻。命令行提示成功,且设备最下方显示 oem unlock 即表示已解锁
解压缩下载的 Factory Image
Windows 直接运行
flash-all.bat
。macOS 或 Linux 通过cd
命令到解压缩出来的文件夹下,输入sh flash-all.sh
执行。通常来说,执行完毕后,命令行会提示成功,设备会自动重启进入系统,到此刷机结束。
例外情况
1-5 步相同
只是在出现某些错误的情况下,手动刷入
cd
命令到解压缩的文件夹更新 bootloader
1
fastboot flash bootloader bootloader-xxx-xxx.img
重启到 bootloader
1
fastboot reboot-bootloader
更新基带
1
fastboot flash radio radio-xxx-xxx.img
重启到 bootloader
1
fastboot reboot-bootloader
解压缩
image-xxx-xxx.zip
cd
命令到该文件夹下刷入系统
1
fastboot flash system system.img
更新驱动
1
fastboot flash vendor vendor.img
刷入用户数据
1
fastboot flash userdata userdata.img
更新内核
1
fastboot flash boot boot.img
更新 recover
1
fastboot flash recovery recovery.img
清空缓存分区
1
fastboot erase cache
刷入缓存
1
fastboot flash cache cache.img
重启手机
1
fastboot reboot
以上 6-15 步可以使用下面的命令,直接更新。如果 bootloader 和 radio 没有更新包,也可以直接使用下面的命令更新。
1 | fastboot -w update image-xxx-xxx.zip |
结语
刷机有风险,操作需谨慎。
安装 apk
1
adb install -r xxx.apk