Android刷机需要知道的一些事

首页 / 技术 / 正文

Android系统广泛应用于手机、平板、电视等嵌入式智能设备,“刷机”,顾名思义,即刷写这些Android设备的flash芯片,以达到更换优化操作系统的目的。可能有很多朋友(俗称发烧友)玩过刷机,但随着时代的进步,越来越多的人采取刷机精灵、刷机助手等软件进行刷机,而这些软件,将传统刷机执行的命令都封装成按钮隐藏了起来,导致越来越多的人难以理解刷机软件背后的运作原理。今天这篇文章将向你展示传统的使用命令的刷机方法,以及刷机过程中一些东西的运作原理

刷机的基本流程

总体上看,刷机主要有以下几个流程:

前导知识

Android系统分区

和电脑一样,Android设备上也存在分区的概念,和Windows系统的C、D、E盘的概念基本一致,但又有所不同。正如我们在使用过程中发现的一样,安卓手机只有内部存储的概念,那么分区又是怎么来的呢?

实际上,Android系统有很多分区,但只有内部存储是我们能够直接操作的,其他分区都有专用用途,下面介绍几个在刷机过程中常见的分区:

Bootloader

Bootloader可以理解为电脑系统中的“引导”这一概念(即EFI分区)

既然是“引导”,那么就存在启动项,在Android系统中称之为“模式”,刷机中常用的模式共有三种,如下图:

正常模式

即我们正常开机进入的模式,该模式下,Bootloader将从Boot分区启动

FastBoot模式

FastBoot其实就是安卓系统的Bootloader,也被简称为FB,进入这一模式相当于我们停留在Bootloader里。
这一模式下可对系统分区进行非常底层的操作,通常用来解锁Recovery、刷入Recovery。

Recovery模式

Recovery一般也简写为REC,翻译过来其实就是恢复模式。这一模式中的系统我们可以自行更改,常用的有TWRP RecoveryCWM Recovery
这一模式也是我们刷入系统通常用的模式,这一模式比fastboot层级高一些,比较安全。该模式下,Bootloader将从Recovery分区启动

System分区

顾名思义,这一分区主要放系统相关的程序。

Data分区

顾名思义,这一分区放置的是App所存储的数据信息,以及各个app的apk文件。

Cache分区

顾名思义,这一分区主要放缓存

Sdcard分区

这个就不能顾名思义了,这个分区看起来像是外置sd卡,实际上是安卓的内置存储(也可称之为内置sd卡)

Android与PC的交互——ADB

介绍完Android系统的启动过程及分区,接下来就需要知道电脑是如何与Android交互的了。通常我们使用的是ADBAndroid Debug Bridge, 安卓调试桥),这也是各种手机助手、刷机助手之类软件底层所使用的程序。

ADB工具包的获取

网上虽然能搜索到很多下载站提供ADB工具包的下载,但都难以确定其是否为最新版。实际上,ADB工具包被整合在了Android SDK的platform tools里,这个platform tools其实就是ADB工具包,因此直接到Google的安卓官网进行下载:

官网地址
https://developer.android.com/studio/releases/platform-tools

最新版下载链接
https://dl.google.com/android/repository/platform-tools-latest-windows.zip

安装

直接将其解压,并解压得到的路径加入环境变量PATH中。

adb命令

输入adb help即可查看帮助,也可验证是否安装成功。

常用的命令如下:

adb devices #查看已连接的设备及其所处模式
adb push <本地文件> <设备路径> #将电脑中文件push进设备中
adb pull <设备文件> <本地路径> #将设备中文件pull到电脑里
adb install <apk文件路径> #安装app
adb shell #进入设备Linux终端
adb reboot fastboot #重启至fastboot模式,不一定成功
adb reboot recovery #重启至recovery模式,不一定成功

fastboot命令

打开命令行,输入fastboot help即可查看帮助

(注:连接设备,将设备重启至fastboot模式,才可使用fastboot操作设备)

常用的fastboot命令如下:

fastboot device #查看当前连接的设备
fastboot oem get-bootinfo #获取Bootloader解锁状态
fastboot oem unlock <16位解锁码> #解锁Bootloader,以便刷入Recovery
fastboot flash <分区名> <刷入img文件路径> #给指定分区刷入镜像
fastboot erase <分区名> #擦除指定分区

#fastboot常用来刷recovery,命令如下:
fastboot flash recovery <刷入img文件路径>

实操过程

部署ADB环境

见上文。

下载ROM及Recovery镜像

需要在网上搜索并下载对应自己机型的ROM(刷机包)及Recovery的img镜像。

连接电脑装驱动

用个好点的USB线,网上随便装个自己机型对应的驱动就行(也可不装驱动)。

进入fastboot

不管手机坏没坏,先进入fastboot模式,不同品牌机型进入fastboot的操作不同,需要在网上搜搜。一般是音量+或-与电源键同时按住,开机亮屏后继续按住个十几秒,就进入fastboot了(有些机型进入fastboot模式不会有任何提示,需要估计)

在电脑端使用如下命令检查设备是否进入了fastboot模式:

fastboot devices

刷入Recovery

这一步需要刷入我们下载好的recovery镜像,使用如下命令:

fastboot flash recovery <recovery的img镜像文件路径>

进入Recovery

不同品牌机型进入recovery的操作也有所不同,也需要在网上搜索。进入后可使用如下命令进行检查:

adb devices

如果输出的设备列表中,设备处于recovery模式,则成功进入。

清除原系统

进行这一步的目的往往是保障刷机成功,具体还需根据ROM包制作者所提供的注意事项选择是否进行双清/三清操作。可在Recovery中点击清除,勾选所需要清除的分区完成这一步。

进行刷机操作

这一步实际上有两种方法:可使用adb命令将刷机文件push进sdcard中,也可直接使用adb的sideload刷机。

将刷机文件push进sdcard刷机

使用adb push将PC上的ROM包放进设备中。
再在Recovery中点击安装刷机包。

使用adb sideload刷机

使用adb sideload <ROM包路径>直接将PC上的ROM刷进设备。

重启

刷机完成后重启,首次开机往往耗时很久,需耐心等待,若无无限重启等异常现象即为刷机成功。

打赏
评论区
头像