安卓刷机基础

本文最后更新于:May 7, 2017 pm

因此小七整理了一些常见的安卓刷机相关的基础概念,希望能给大家一些帮助。

1、什么是安卓刷机?

刷机,就是通过一定的技术手段向安卓手机中刷入ROM的过程。那么随着刷机的不断发展,刷入的东西类型也在逐渐增多,包括REC、ROM、内核甚至是基带固件等等。

2、刷机方式都有哪些?

目前来说,主流的刷机方式基本可以分为两种:线刷和卡刷
线刷和卡刷最大的区别就是:线刷刷机时需要通过USB数据线操作,而卡刷是通过内存卡进行操作。

2.1 关于卡刷

因为在早期,安卓手机的内存普遍偏小,因此一般会通过支持内存卡的方式来让用户获得更大的存储空间。而刷机包相对于早期的手机来说,算是比较大的了,一般来说是将刷机包复制进入内存卡中,再通过REC将刷机包刷入,最终完成整个刷机操作。
这里提一下,我们平时的正常情况下的手机系统升级,其实就是卡刷的一种。系统将系统更新文件下载到手机存储空间中,然后重启通过REC刷入更新的增量包或者是完整的刷机包。

温馨提示:

1、增量包指的是在某个特定的系统版本上更新加入某些功能的更新包,它是不带有完整的整个手机操作系统的,因此在刷机的时候是不能当作刷机包使用的。
2、有些手机尽管不支持内存卡,但是会将手机自带的存储空间划分一部分出来当作内存卡,这部分的空间在地位上跟内存卡是一样的,只是不能像内存卡那样取出手机进行读写操作。这种情况前两年还比较常见,现在这么操作的手机好像比较少了。

2.2 关于线刷

线刷最明显的特点就是需要通过数据线来操作,因此在线刷的过程中,需要非常注意数据线和手机的连接情况,千万不能断开数据线或者是关闭计算机或者是关闭手机等。

同样地,由于线刷需要使用数据线的特点,它所能够进行的操作也就比卡刷更多,同时也更危险,比如说我们之前的刷入REC,就是通过线刷操作的。而很多情况下,手机不小心刷成砖了,救砖操作也是需要通过线刷进行的。

而现在很多手机厂商提供的官方刷机助手,都是需要连接数据线来进行操作,因此也是属于线刷。

由于现在手机已经有取消支持SD卡拓展的这个趋势,因此线刷的重要性也就凸现出来了。但是未来线刷和卡刷应该是会并存的,原因很简单:卡刷可以进行简单的刷机和系统更新等操作,线刷则可以进行更深度更敏感的操作。

3、什么是ROM image?

对于安卓刷机来说,这个ROM image跟我们一般说的ROM是两个东西。
这里我们简单地讲一下ROM和RAM这对双子星。

3.1 RAM

RAM的全称是Random Access Memory,中文名是随机存取存储器,我们日常称之为运行内存。也就是说,它是不能够断电保存数据的,主要是在我们的电子产品工作的时候,将需要调用的文件预先从ROM中读取出来,放入到RAM中(因为一般来说RAM的读写速度要比ROM快),以便于我们的CPU/GPU或者是SoC等调用。

3.2 ROM

ROM的全称是Read-Only Memory,中文名是只读内存,就是我们平时说的手机存储空间(用来放音乐图片视频等等的那个)。也就是说,它是可以断电保存数据,主要是用来长期存储数据的。

3.3 ROM image

ROM image的全称是Read-Only Memory image,简称是ROM,中文名称叫只读内存镜像,因此会有些容易跟上面的ROM混淆。这里注意,ROM image的存在形式是一个文件,相当于我们电脑平时装系统的镜像文件。

那么在安卓刷机中,我们常常用ROM来指代自己要刷入的操作系统。

4、什么是OS和UI?

OS就是Operating System,中文名叫做操作系统。比如说我们的Windows操作系统,安卓(Android,基于Linux)操作系统,苹果操作系统(iOS,全称叫iPhone Operating System)都可以叫做OS。

而对于移动端来说,除了比较常见的Android和 iOS,还有比较小众的WindowsMobile,Sailfish(旗鱼),Ubuntu(乌班图),BlackBerry OS(黑莓)等等。

UI就是User Interface,中文名叫做用户界面。比如说我们常见的MIUI(小米),EMUI(华为,全称Emotion UI),Flyme(魅族)等等都是UI。

而一般来说,国内的安卓厂商为了做出自己的特色,都会有属于自己的UI,由于他们这些UI都是基于安卓,因此称不上是OS,只能算作UI。如果你见到名字当中有OS的(没错说的就是锤子的Smartisan OS),尽管名字里面有OS,但是还是属于UI。

由于手机厂商在UI的发力程度越来越高,修改的东西也越来越多,所以就有一种很尴尬的情况出现了,说它们是UI吧,好像又不止,说是OS吧,好像又不够格,然后就搞出了一些名词,比如说深度定制UI等等。

刷机的时候,为了方便,我们一般来说是统一使用ROM或者是刷机包来指代这些东西。

5、什么是砖?

这里的砖跟我们平时说的搬砖的砖不是一个概念。这里的砖指的是在刷机过程中因为操作不当而无法正常使用的手机,用不了的手机跟砖头没什么区别,因此人们很形象地称之为砖。一般来说,砖也会根据手机“受内伤”的程度进行划分,一些受伤较轻的砖还是可以救回来的,而那些受伤较重的……

6、什么是BL?

6.1 BL简介

BL的全称叫做Bootloader,中文名字叫做(小七也不知道叫什么)。一般来说,大家都认为Bootloader是嵌入式系统在通电后执行的第一段代码。

在这里用人话来说就是:手机开机要干的第一件事。

BL在功能上有些类似于我们电脑的BIOS,但是实际上两者并不完全一样,手机中是不存在BIOS这一个说法的。

6.2 BL能干什么

那么要手机在通电之后(也就是我们按下开机键之后),需要干的第一件事是什么呢?打个比方来说,将军跟士兵们说要出征了,那么士兵们要干的第一件事当然是检查一下自己的装备、身体状况和精神状态有没有问题。

而对于手机来说,这里要干的事情就是初始化各个组件(屏幕、闪存、SoC、各个传感器等等),检查即将运行的固件、系统等等是否正常。

6.2.1 什么叫锁BL

既然BL能够检查即将运行的固件和系统,那么手机厂商就能在BL上动手,直接锁死BL,使得它只能识别官方的固件和系统,从而确定手机的稳定性和安全性。但是,这也就意味着不能刷机了,因为很多官方的REC只支持官方的ROM,因此刷机很多时候第一步要做的事情就是解锁BL,而对于很多厂商来说,解锁BL意味着放弃保修,因此刷机的童鞋一定要注意。

6.2.2 怎么解锁BL?

解锁BL的方法我们可以分为两种,官方解锁和暴力解锁。

官方解锁的意思就是通过官方渠道解锁,一般是去官网或者是官方论坛,提供手机的IMEI码等进行申请,然后就可以获得解锁BL的解锁码。

暴力解锁的意思就是非官方渠道解锁,对于一些厂商来说,它们是不会提供BL的解锁方式的,因此需要一些民间的大神破解BL,破解的途径一般是利用各种漏洞,因此这种暴力破解的方法难度要更大一些。

由于安卓机型众多,小七难免会有疏漏,小七建议童鞋们可以去自己手机对应的论坛或者是贴吧了解详细情况。

7、什么是REC?

REC的全称叫做Recovery,直译中文名叫做恢复,百度百科有个很奇怪的翻译叫做:Android手机备份功能。

实际上,REC的功能远不止备份这么简单。进入REC模式后,我们可以通过卡刷来升级操作系统,也可以擦除(wipe)手机数据,还可以恢复出厂设置,备份当前数据等等。

由于安卓系统的复杂原理,REC所处于的分区和我们手机系统所处的分区不同,因此,如果你不小心把系统搞崩了,可以进入REC对其进行一定的修复。也就是说,因为REC和手机的ROM处于不同分区,而不同分区之间是不会互相影响的,用REC可以进行一定程度的刷机。

有些人会将REC比作我们修电脑时常用到的PE,实际上两者在地位上有些相似,但是在功能上还是有一定的差距的。

官方的REC一般限制较多(只能刷入官方的固件、补丁、更新等等),而第三方的REC则在功能上要更加丰富一些,除了能够任意刷入第三方的ROM之外,有些甚至能够支持调整分区大小、在手机上实现双系统(早期的小米手机有这个功能,现在的不太清楚)。

以前比较旧的版本的REC在刷机的时候只能通过音量键和电源键操作,并且在卡刷的时候只支持将刷机包以update的文件名,zip的文件格式放入SD卡的根目录下进行操作,现在的REC则要好很多,除了能够支持触控操作,还能刷入任意命名的刷机包。

8、什么是fastboot?

Fastboot的功能与REC相似,但是要更为高级,更为接近系统的底层。

这句话可能比较难理解,这里简单地解释一下。更为高级的意思就是Fastboot能够执行的操作要比REC更多,比如我们之前的使用ADB刷入REC就是进入了fastboot模式执行的操作。

而更为接近系统的底层则意味着优劣共存。比如说,当你折腾手机的时候,不小心把REC搞崩了,没关系,我们还能够进入fastboot模式进行刷机,重新刷入REC,然后继续愉快地刷机。因此,几乎所有的救砖操作都是在fastboot模式下进行,但是,如果你连fastboot都进不去,那就意味着你的手机很有可能真的变砖了。

注意,我们如果使用第三方刷机软件(刷机精灵、刷机大师这些)进行一键刷机操作的时候,是属于线刷,它们会让你的手机进入fastboot模式,然后刷入这些刷机软件自己的REC,再进行刷入ROM的操作。

9、什么是恢复出厂设置/双清/三清?

9.1 恢复出厂设置

顾名思义,恢复出厂设置就是将你的手机恢复到出厂状态,也就是手机刚从工厂里面加工组装完成,包装到包装盒里面的状态。需要注意的是如果你的手机升级了系统(安卓版本更新或者是UI的大版本更新),那么恢复出厂设置之后一般是不会回退你已经更新的版本的。
同时,恢复出厂设置默认不清除储存卡上的文件,且你先前做的关于设置的更改都不会保存。

9.2 双清

双清和三清往往需要进入REC或者是fastboot或者是使用ADB进行操作。在REC中,一般都是wipe data和wipe cache。

wipe data/factory reset: 清除用户数据并恢复出厂设置(刷机前必须执行的选项)
wipe cache partition: 清除系统缓存(刷机前执行,系统出问题也可尝试此选项,一般能够解决)

9.3 三清

三清比双清多了一个清除虚拟机缓存,基本上三清已经是最彻底的清除手机数据的操作了。

wipe data/factory reset: 清除用户数据并恢复出厂设置(刷机前必须执行的选项)
wipe cache partition: 清除系统缓存(刷机前执行,系统出问题也可尝试此选项,一般能够解决)
wipe dalvik cache: 清空虚拟机缓存(可以解决一些程序fc的问题)

很多人在刷机前都会有双清或者是三清的习惯,这样一来可以使手机刷机更加纯净,二来也可以避免之前残留的缓存文件对新刷入的ROM产生各种莫名其妙的影响,导致出现一些奇奇怪怪的问题(比如耗电量暴增,经常卡顿等等)。
现在一般三清用的不多,双清要更加多一些,原因就是三清会比较复杂,风险也比较大。

10、什么是OTA升级?

OTA,全称为On-The-Air,中文名不详。OTA更新的原理是通过网络下载更新包,存储在手机的存储空间中,然后再重启进行升级。OTA升级在原理上是属于卡刷的。

那么我们在日常生活中哪里会接触到OTA升级呢?实际上,我们所有的官方推送的手机更新,都是属于OTA更新。而能进行OTA升级的前提条件一般都是使用的官方REC+官方ROM+没有ROOT。是否解锁BL并不影响。

11、什么是底包?

之前我们说过,厂商可以通过锁BL的形式,使得手机只能识别官方的固件、ROM等等。那么这是不是意味着我们就不能刷机了呢?当然不是,要相信高手在民间,既然它要,我们就给它。

底包就是在这种情况下诞生的产物,它的主要目的就是使得手机能够先识别这个官方的ROM,然后我们再在这个ROM上面刷入我们自己制作的第三方ROM。

此处最典型的例子就是华为的EMUI,因为华为手机的特点,很多基于EMUI的第三方刷机包都需要基于某个特定的EMUI版本才能刷入。因此有一部分大神在制作第三方的ROM的时候,会基于官方的ROM进行修改和精简,并且加入一定的新功能。而这些制作出来的刷机包,就是需要先刷入底包的。由于华为对于刷机的支持并不友好,而且华为的主要用户群体并非是这一类的刷机发烧友,因此很多华为的机型的刷机包都是属于上述类型。

这里再额外补充一下。如果你的华为手机原来就是官方的ROM,在刷入这一类的刷机包的时候,只要你的EMUI版本符合这个第三方的刷机包的要求,是不需要刷入底包的。但是,如果你的手机已经刷入了第三方的ROM,再需要刷回这一类的ROM的时候,就需要事先刷入底包了。

12、什么是ADB?

ADB的全称是Android Debug Bridge,中文名就是“安卓调试桥”,也就是起到了一个连接安卓手机和电脑的桥梁的作用,可以实现许多安卓手机的调试功能(此处不一一列举),因此很形象地被称呼为Android Debug Bridge。

ADB其实并非是第三方工具,它是谷歌官方出品的工具,因此最纯净的下载方式就是去谷歌官网下载(需要科学上网)。

如果你嫌去官网麻烦,可以直接打开搜索引擎下载,小心一些不要下到流氓软件则问题不大。

13、什么是内核?

内核,顾名思义就是我们手机的核心,准确的来说是我们手机的操作系统的核心。事实上不仅是手机的操作系统,每个操作系统都有对应的核心。

那么核心主要负责什么呢?基本上,所有沟通硬件和底层驱动的任务都是由核心来负责的。而不同的核心会有不同的特性。比如说:如果你的手机耗电量比较严重,那么你就可以刷入一个第三方优化过的内核,来达到省电的效果。

14、什么是ROOT?

ROOT在英语里面有根源的意思,而在安卓手机中,ROOT则意味着获取手机系统的最高权限,也就是相当于手机系统的超级管理员,能够执行一切操作,包括但不限于修改系统底层文件,后台安装应用程序,自动发送扣费短信等等,因此对于不知道如何使用ROOT权限的小白来说风险还是相当大的。

但是ROOT作为一把双刃剑,有坏也有好。修改系统文件虽然有可能导致系统损坏,但是也可以解锁一些手机在出厂时因为各种原因被手机厂商锁死的功能,又或者是卸载一些没用的系统软件,让手机从臃肿变得清爽。

因此关键还是看你怎么使用它。

15、什么是Xposed?

Xposed是一个框架,它本身是不具备具体的功能的。但是有很多模块可以通过在Xposed框架上运行,实现一些很有意思的功能如各种个性化的手机定制。

因此,打个比方来说就是:Xposed本身相当于是一个容器,是用来装东西的,放米就成了米缸,放水就成了水缸,放木炭硫磺硝酸钾就成了炸弹。