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 不需要。

常用命令

  1. 刷写命令:
    • 刷入 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]
  2. 数据清除命令:
    • 清空 cache 分区:fastboot erase cache
    • 清除缓存文件:fastboot flash cache [ImagePath]
    • 格式化内部存储数据:fastboot format userdata
    • 格式化设备全部数据:fastboot -w
  3. 重启命令
    • 重启到 BL 模式:fastboot reboot bootloader
    • 重启设备:fastboot reboot

线刷操作流程

Android Studio 会自带 adb 工具
bootloader 解锁后,将取消保修资格。但刷机一定要解锁。不然变砖没法玩了。
刷机会清除手机内的数据,注意备份
刷机有风险

  1. 打开 设置 -> 安全 -> 设备管理器 -> 取消激活 Android 设备管理器

    5.1 版本后加入了防盗机制,如登陆过 Google 账户,将会自动打开设备锁定功能。刷机后,不能跳过网络验证服务,必须连接 WI-FI。如不能连接上 Google 服务器,将会一直卡在验证界面。若出现该情况,只有通过路由器挂梯子或其它设备挂梯子共享 WI-FI 或刷第三方无 Google 服务的包,进入系统后,再刷官方镜像

  2. 打开 设置 -> 关于手机 -> 点击版本号 7 次,以打开开发者选项

  3. 在 开发者选项 中,打开 USB 调试,打开 OEM 解锁(大概是 5.0 版本加上的)

  4. 通过 USB 连接到设备

  5. 查看当前连接设备,若有连接设备,将显示连接设备信息

    1
    adb devices
  6. 重启至 bootloader

    1
    adb reboot bootloader
  7. 设备进入 bootloader 模式后,解锁 bootloader

    1
    fastboot oem unlock
  8. 这时在设备上会出现一个解锁界面,使用音量上下选择 YES,稍等片刻。命令行提示成功,且设备最下方显示 oem unlock 即表示已解锁

  9. 解压缩下载的 Factory Image

  10. Windows 直接运行 flash-all.bat。macOS 或 Linux 通过 cd 命令到解压缩出来的文件夹下,输入 sh flash-all.sh 执行。

  11. 通常来说,执行完毕后,命令行会提示成功,设备会自动重启进入系统,到此刷机结束。

例外情况

1-5 步相同
只是在出现某些错误的情况下,手动刷入

  1. cd 命令到解压缩的文件夹

  2. 更新 bootloader

    1
    fastboot flash bootloader bootloader-xxx-xxx.img
  3. 重启到 bootloader

    1
    fastboot reboot-bootloader
  4. 更新基带

    1
    fastboot flash radio radio-xxx-xxx.img
  5. 重启到 bootloader

    1
    fastboot reboot-bootloader
  6. 解压缩 image-xxx-xxx.zip

  7. cd 命令到该文件夹下

  8. 刷入系统

    1
    fastboot flash system system.img
  9. 更新驱动

    1
    fastboot flash vendor vendor.img
  10. 刷入用户数据

    1
    fastboot flash userdata userdata.img
  11. 更新内核

    1
    fastboot flash boot boot.img
  12. 更新 recover

    1
    fastboot flash recovery recovery.img
  13. 清空缓存分区

    1
    fastboot erase cache
  14. 刷入缓存

    1
    fastboot flash cache cache.img
  15. 重启手机

    1
    fastboot reboot

以上 6-15 步可以使用下面的命令,直接更新。如果 bootloader 和 radio 没有更新包,也可以直接使用下面的命令更新。

1
fastboot -w update image-xxx-xxx.zip

结语

刷机有风险,操作需谨慎。

  • 安装 apk

    1
    adb install -r xxx.apk

参考资料