什么是刷机?刷机,简单的说,就是通过一系列步骤,把手机里面的一些固有的程序替换掉的一个过程。通过刷机,我们可以提升权限,可以得到更新版的操作系统,或者是改良后的系统驱动,等等。这样,我们可以让手机运行在更好的一个状态下。通过官方提供的升级包,自己手动来给手机升级的,也是一种刷机,只不过这是在官方授权允许的情况下进行的就是了。后面即将要讲到的rooting,也是一种简单的刷机,我们往手机里面放进了两个程序,然后我们就取得了系统的最高权限。再后面我们要讲到的,怎么去替换系统程序,怎么把第三方、甚至是自己修改的刷机包刷进我们的手机,同样都是刷机。你需要刷机吗?这是每个要继续下去的朋友,该问自己的一个问题。我们的电脑,从dos,win3.1,win98,winxp,到今天的win7,一直都在不停的升级。除了官方的系统,我们有时还会去安装一些经过精简和定制的系统,这么做的目的,无非是想更好的使用我们的电脑罢了。也许你会说,我家的老爷电脑,到现在都还在用win98呢,是的,确实有很多朋友,并不需要去做系统升级,因为现有的功能就够用了,再多的功能也用不到。对于手机用户来讲,一样的道理,如果你只是用手机打打电话,收发短信,那么一个稳定的官方系统对你来说就够用了,也许到你换手机的那天,你都不用对它做任何的升级。因为你不需要这么去做。但你的手机要是频繁死机,运行不稳定呢?也许你会说,送去修呗,没错,这也是一个办法。但对于痴迷电子产品的爱好者来说,刷机,恰恰是我们的乐趣所在,通过刷机,我们可以学到很多相关的知识,把自己的手机,弄成自己想要的样子,同样是很有成就感的。不是吗?有的朋友会说,手机,不就是个工具吗?用着就是了,折腾他干嘛呢?非也!!大家都知道,我们的电脑,可以完成很多任务,工作、学习、读书、看报、听歌、看碟、上网、聊天,等等,现代人的生活几乎离不开网络,离不开电脑。但是,问题来了,假如,给你一台电脑,却没有给你管理员账号,也就是说,给你装好1、什么是androidandroid的英文意思是“机器人”,在这里指的是谷歌公司于2007年11月5日宣布的,一种基于linux平台的开源操作系统。2、android操作系统的历史Android1.0,发布于2009年2月代表机型:T-MobileG1Android1.5,发布于2009年5月代表机型:摩托罗拉Backflip(MOTOME600)Android1.6,发布于2009年9月代表机型:索尼爱立信X10,摩托罗拉A1680Android2.0发布于2009年10月代表机型:摩托罗拉XT800Android2.1,发布于2009年12月代表机型:摩托罗拉MILESTONE(里程碑)系列Android2.2,发布于2010年5月代表机型:摩托罗拉ME722里程碑2Android2.3,发布于2010年12月7日代表机型:googleNexusSAndroid3.0,发布于2011年2月3日代表机型:摩托罗拉XOOM(平板电脑)3、android操作系统的分区对电脑系统了解的朋友都知道,简单来说,电脑分硬件和软件两大块,软件装在硬盘上,比如操作系统windows,使用者通过windows来控制机器硬件,达到使用电脑的目的。手机也分为硬件和软件两块,软件则是装在闪存(即flashmemory,一种存储器)上的,闪存有大小的区别,就像硬盘有大小一样,看手机硬件配置的时候,通常会看到如下介绍:ROM512M,RAM512M,ROM就是指的闪存了,相当于电脑上的硬盘,用来存放操作系统和用户数据等信息。相应的,RAM就是指的内存了。手机出厂时都是装好系统的,这点类似于电脑世界里面的品牌电脑,通过分析手机闪存上的内容可以知道,android操作系统主要有以下几个重要的分区(包括但不限于):hboot分区----------负责启动。radio分区----------负责驱动。recovery分区-------负责恢复。boot分区-----------系统内核。system分区---------系统文件。cache分区----------系统缓存。userdata分区-------用户数据。这里不做太详细的介绍了,一是因为笔者所知有限,二是因为对于初学刷机的朋友来说,灌输太多概念,反而会适得其反,我们在这里只要简单的知道一些基本概念,对后面的刷机有所帮助就可以了。对此感兴趣的朋友,可以通过网络继续加深学习。1、hboot(SPL):这里指的是手机上的启动模块,通俗的说,就是负责手机启动引导的一段程序,类似于电脑主板上的BIOS,都是负责底层操作的。和在电脑上刷新BIOS一样,刷错了,电脑就会开不了机,对手机来说也一样,这部分的内容刷错了,手机就会变砖!2、radio:这里指的是手机上的通讯模块,又叫做基带。负责手机的无线信号,蓝牙,WIFI等设备的管理,也就是说,相当于电脑系统里面的硬件驱动部分。这样说或许也不是特别的准确,大家明白大概的意思就可以了。通常我们所说的刷radio,刷基带,就是指的刷写这一部分,以便解决通话质量、网络连接质量、蓝牙连接等等问题。3、recovery:字面意思是恢复,手机上的一个功能分区,有点类似于笔记本电脑上的恢复分区。一般大厂出的笔记本,都会自带一个特殊分区,里面保存着系统的镜像文件,当系统出问题的时候,我们可以通过它来一键恢复系统。这里的recovery功能有些类似。其实,他更像是电脑上的小型winPE系统,可以允许我们通过启动到winPE系统上,去做一些备份、恢复的工作。当然,系统自带的recovery基本没用,所以我们通常会刷入一个第三方的recovery,以便实现更多的功能,例如:备份系统,恢复系统,刷新系统等。但官方自带的recovery也不是一无是处,在使用OTA方式升级系统时候,会检查此分区内容,如果不是原厂自带的,OTA升级就会失败。4、fastboot:字面意思是快速启动,在这里,其实是一个特殊的工程模式,通过fastboot界面,连接电脑后,我们可以在电脑端通过特殊的指令来操作手机,例如更新radio,就可以通过fastboot来完成%A后续章节里面出现的手机,如无特别说明,均指的是HTCDesireHD。其他手机用户,不要完全照搬操作,责任自负哦。国内水货满天飞,各种版本的手机让普通用户难以分辨。作为一个中国人,不能不说这是一个悲哀。都说中国人精明,那可不是,整天提心吊胆的要防着被骗,整天演练攻防战,日子久了,人能不精吗?有点跑题了,鉴于以上原因,以HTCDesireHD(以下简称DHD)手机为例,拿到新买的手机后,我们首先应该拨打一下HTC的官方电话:400-821-8998,人工咨询下,报上你的IEMI串码,即可知道你的手机是什么时候出厂、销往何处的。省的被JS忽悠。接着我们需要知道,我们手机里面运行的是哪个版本的系统,这对我们来说很重要,后续操作都要基于这个,不同版本的系统,对应不同的处理方法。要了解机器的相关信息,跟着我来操作:打开手机,进入设置--关于手机--软件信息,得到如下信息:android版本--------------------------操作系统的版本2.2baseband版本-------------------------radio的版本12.28b.60.140eU_26.03.02.26_Mkernel版本---------------------------内核的版本2.6.32.21-gf3f553d内部版本号1.32.832.6CL278359release-keys软件版本1.32.832.6浏览器版本webkit3.1上面是笔者手机未刷机前的内容(港版),可能和你的不同,没关系,很正常,你只要知道他们代表的意思就行了。进一步了解机器信息,方法如下:打开手机,进入设置--应用程序--快速启动,不要打勾,然后关机,按住音量-键的同时按住开机键,屏幕点亮后,进入HBOOT。会看到屏幕最上面有如下一些信息:ACEPVTSHIPS-ONHBOOT-0.85.0007MICROP-0438RADIO-26.03.02.26_MeMMC-bootOCT112010,12:47:02这里提供的几条信息很重要,下面逐一讲解。先来看第一行:ACE:这个是DHD的内部开发代号。PVT(或者是EVT,DVT,CVT):手机的版本类型。一台手机从研发到上市,可能会经历多次版本上的调试和改动,版本类型标志着机器是什么时候的产物。EVT:工程机,研发阶段机器的型号。DVT:开发机,特殊开发用途机器的型号。CVT:商用机,交付运营商的机器的型号。PVT:量产机,最终上市的零售版机器的型号。SHIP(或者是ENG):手机hboot(SPL)的版本。SHIP:shippment的缩写,出货的意思,零售版的hboot版本。ENG:Engineer的缩写,工程的意思,修改版的hboot版本。S-ON(或者是S-OFF):S代表SecurityLock,即安全锁。HTC在手机内部设置了一个安全锁,用来控制系统分区的读写状态。S-ON:安全锁开;S-OFF:安全锁关。这里我们只是简单说一下,后面的章节再来做详细的说明。接着看第二行:HBOOT-0.85.0007这里显示了hboot的版本号,hboot是一个很特殊的部分,刷坏了这里,手机就会变砖,类似于升级电脑的BIOS,刷错了BIOS,你只能返厂用特殊的擦写工具来恢复了。所以后面对hboot的操作要特别的注意,如非必要,不要去轻易刷写此分区。第四行:RADIO-26.03.02.26_M这里显示了radio的版本号,同样的,radio会随着官方系统的升级而跟着升级,前面讲过,radio是负责信号和硬件驱动的,理论上讲,应该是越高版本越好,但也不是绝对,也是要看情况的,就像电脑上的驱动,最新的并不一定是最好的。上面讲述了怎样查看手机的详细信息,这些资料都很有用,后面的刷机,和这些东西息息相关,希望大家都能先搞清楚,然后再去看后面的章节。刚开始接触刷机的朋友碰到最多的一个词,恐怕就是root了,到底什么是root,下面我们就会讲到。Windows系统大家应该都比较熟悉,其中,管理员用户叫做administrator,在操作系统里,这个用户具备最高的权限,有了它,你可以对操作系统进行各种操作。那么,谷歌的android系统呢?android系统是基于linux的,而linux又是基于unix的,linux和unix都是操作系统的名字,和windows操作系统工作原理不同而已。在unix系统里面,管理员用户就叫做root,只有root才具备最高级别的管理权限。类似于windows里面的administrator。unix系统提供一个命令,名字叫:su,什么是su呢?再说下我们熟悉的windows吧,在windows里面,如果你使用一个非管理员用户登陆系统,有时候我们又需要在管理员用户下才能完成一些工作,比如,有些程序就需要用管理员的身份来运行,怎么办?一个是注销该用户,然后用管理员用户登陆,还有一种方法,在windows7里面,我们可以通过右键,选择“以管理员身份运行”来完成我们要做的工作,这样就不用来回切换用户了。那么在linux下面,su就是用来完成这样的工作的。当我们需要用管理员的身份来运行程序的时候,我们可以通过su来切换到root用户下。但官方的手机系统里面,为了安全起见,是不带有这个命令文件的,使得我们无法得到系统管理员的高级权限。既然官方没有给我们提供这样的便利条件,我们可以自己来创造。前面的文章介绍过,手机的ROM就相当于电脑的硬盘,也有自己的目录和各种文件,而我们把su放进rom的相关目录下(比如system/xbin/)的这个过程就叫做rooting,大家经常在论坛里看到的,说要把手机root,其实就是说的这个过程,我们称之为rooting似乎更为恰当些。把su放进手机里面的同时,我们也就具备了通过su来切换到root用户的条件。为了防止不良软件也取得root用户的权限,当我