How to apply Android 2.3 to my HTC
2011年01月27日
相亲们哪,刷过Android2.3.1系统之后的手机被我已把玩半周了,仿佛新机到手一般那么吸引人;又好似体验最新版实验品,优点或不足的发现都让人觉得像品味着糕点。分享下攻略吧,效仿者可步步紧跟,围观者可一同品头论足一番。
Android刷机原理
俗话说"理论指导实践",咱得搞清楚原理,再动手时才有方向性,也可触类旁通了。若埋着头一步一步扣操作步骤走,只会战战兢兢,稍有不慎时便不知所措慌了手脚。
1. 刷机刷的是什么
Android刷机刷的是固件系统,是手机系统所在的ROM存储器。ROM是"Read-only memory"的缩写,任何嵌入式系统都选择将系统程序烧制在这样的存储器上,每次开机时加载启动,只读的特性保证了系统稳定加载且不被篡改。Android手机当然用的是可擦写ROM(EEPROM),只不过用root权限隔离了用户的文件操作。这里顺便提下,Android作为基于linux-2.6内核的正儿八经的操作系统,享受着手机硬件上的4类存储区: 系统ROM。手机非易失性存储器的一部分,可以看作是个分区,专门存放系统程序文件。
用户ROM。手机非易失性存储器的另一部分(自然是另外那块分区),供用户存放数据或安装应用程序。
SD卡。Secure Digital card作为扩展存储空间的外接存储器,Flash也是EEPROM的一种不过特殊点,容量常较大。它和使用U盘的原理相同,而且特别是可以被Android2.1之后的系统安装应用软件。
内存RAM。Random-access memory自不必解释了,强调的是它是易失性存储器,断电立即清除内容。
那么我们就清楚了,这里所谓的刷机(或水果家族的完美越狱)是将矛头对准系统ROM,试图通过以特定内容重写系统ROM的方式,破解机器上原有系统对我们使用的限制,或应用新版本系统到机器上以取代旧系统。多说一句,很多新系统开始时之内被"非完美"越狱,其特点就是系统不能重启,其原因现在很明显了,就是在还无力直接修改ROM的时候,在系统加载后对RAM中运行着的程序做些手脚,躲过一些限制,但RAM掉电擦除后就无效了。
2. 刷机绕不开的几个词
Android刷机过程中碰到的名词很多,不过每个词在现在看来都更有深意。
* Root权限(http://www.cncn6.com/s60v3/2010/3021.html),需要指出的是,此文是Android2.3之前写的,对将程序安装到SD卡部分所言和现实有出入,在前面一篇文字中我已提到,Android2.3支持直接安装应用到SD卡,这和root权限没什么关系了。最根本获取Root权限的方法是使用金卡引导来重刷特制ROM。
* 金卡(gold card),它是让你欺骗手机上的官方升级程序以获得批准从SD卡文件刷新ROM的一把钥匙,这需要一个将手机读出的CID值解密后写入普通SD卡引导区使之成为所谓"金卡"的过程。究其原理必须要先解释CID,下面引述一篇文章的话,其链接在后。
* "CID(CustomerIDentity),简单来说就是手机的平台版本。刷机过程中SPL(SecondProgramLoader)需要根据CID效验ROM是否可用,并决定是否刷入,一般情况下要求一定要对应CID的ROM才可以用,CID不同的ROM是刷不上去的。对于普通的CID来说,一般有两个限制:1)不能刷入低版本的的ROM,2)不能刷入不同平台的ROM,比如:在台版机上刷欧版ROM、跨型号刷ROM等。SUPERCID有些型号手机的CID的限制是可以通过软件来破解的,但也有也些型号目前还没有有效的方法破解CID。"
"破解限制之后的CID成为SUPERCID,拥有SUPERCID的机器可以刷任意版本和平台的ROM。具体来说,同一个手机既可以刷台湾的ROM, 也可以刷日本的ROM,也可以刷香港的等。甚至也可以刷进一个其他型号手机的ROM。但是这也带来很大的危险性,因为没有了限制,没有了校验,刷入一个错误的ROM也是很容易的事。我们一般刷机时需要破解为SUPERCID,因为一方面现在大部分情况下刷机所用的ROM都是 通不过CID校验的;另一方面万一刷机失败,对于SuperCID的手机更容易修复。"
可见,制作金卡和获取Root权限在Android头一次刷机过程中不可避免,而头次之后就有更方便的方式刷机了,如直接使用ROM Manager应用。
* ADB(Android Debug Bridge)是通过电脑连接Android手机进行指令发送和调试的"桥",包含在Android Sdk中,绝大多数刷机命令都是直接通过ADB shell发送指令到手机上执行的,甚至包括将特定文件的传输。
更多名词解释可参见这里:http://bbs.anshouji.com/thread-507-1-1.html
Android刷机实战
弄明白道理之后,就差具体怎么做了。前人写得很细很好,我不必另搭门面了。 必须要说明几点: 攻略中的机型是HTC Legend,这点上对相似的机型大同小异,只需找到合适的固件。
攻略中使用的是windows系统来帮助刷机,而用mac也完全可以做,攻略里提到R4-Legend-root是是转为Legend写的一些利用ADB的命令,它兼容Windows、Mac和Linux三种操作系统。
上面的步骤中,从"金卡制作"到"获取Root权限"再到刷某个Android版本的固件,这个过程中必须按顺序按步骤完成,不能偷懒。但可以自己决定的是:Root权限获得后刷机到哪个版本,我就是直接刷到2.3的;文中提到的刷Android系统后跟着刷进的Google App包不是必须的,它只安装更多的google应用(个人觉得很多是垃圾)到系统中,而且不易卸载。
最后想说,ROM Manager(这个Android应用的中文名叫"固件管家")这玩意儿不怎么好使,不要试图在旧版本系统下安装后直接用它来刷机了,尤其是现在有很多"一键Root"的应用能够直接拿到Root权限,一位就可以跳过卡面两步了。其实道理在上文中已经不太连续地交待清楚了,只是在这儿用自己的教训再提醒下。
总结 如果看了上一篇blog你已经被Android2.3的有点有所吸引,开始琢磨着要刷刷机试试新玩意儿了,希望看了这篇文字之后能让你放下不少心中的疑惑,迈出自己的一步。
感谢上面链接里攻略的作者Jackeroo ,他详实的文章让我受益匪浅。
2011年01月27日
相亲们哪,刷过Android2.3.1系统之后的手机被我已把玩半周了,仿佛新机到手一般那么吸引人;又好似体验最新版实验品,优点或不足的发现都让人觉得像品味着糕点。分享下攻略吧,效仿者可步步紧跟,围观者可一同品头论足一番。
Android刷机原理
俗话说"理论指导实践",咱得搞清楚原理,再动手时才有方向性,也可触类旁通了。若埋着头一步一步扣操作步骤走,只会战战兢兢,稍有不慎时便不知所措慌了手脚。
1. 刷机刷的是什么
Android刷机刷的是固件系统,是手机系统所在的ROM存储器。ROM是"Read-only memory"的缩写,任何嵌入式系统都选择将系统程序烧制在这样的存储器上,每次开机时加载启动,只读的特性保证了系统稳定加载且不被篡改。Android手机当然用的是可擦写ROM(EEPROM),只不过用root权限隔离了用户的文件操作。这里顺便提下,Android作为基于linux-2.6内核的正儿八经的操作系统,享受着手机硬件上的4类存储区: 系统ROM。手机非易失性存储器的一部分,可以看作是个分区,专门存放系统程序文件。
用户ROM。手机非易失性存储器的另一部分(自然是另外那块分区),供用户存放数据或安装应用程序。
SD卡。Secure Digital card作为扩展存储空间的外接存储器,Flash也是EEPROM的一种不过特殊点,容量常较大。它和使用U盘的原理相同,而且特别是可以被Android2.1之后的系统安装应用软件。
内存RAM。Random-access memory自不必解释了,强调的是它是易失性存储器,断电立即清除内容。
那么我们就清楚了,这里所谓的刷机(或水果家族的完美越狱)是将矛头对准系统ROM,试图通过以特定内容重写系统ROM的方式,破解机器上原有系统对我们使用的限制,或应用新版本系统到机器上以取代旧系统。多说一句,很多新系统开始时之内被"非完美"越狱,其特点就是系统不能重启,其原因现在很明显了,就是在还无力直接修改ROM的时候,在系统加载后对RAM中运行着的程序做些手脚,躲过一些限制,但RAM掉电擦除后就无效了。
2. 刷机绕不开的几个词
Android刷机过程中碰到的名词很多,不过每个词在现在看来都更有深意。
* Root权限(http://www.cncn6.com/s60v3/2010/3021.html),需要指出的是,此文是Android2.3之前写的,对将程序安装到SD卡部分所言和现实有出入,在前面一篇文字中我已提到,Android2.3支持直接安装应用到SD卡,这和root权限没什么关系了。最根本获取Root权限的方法是使用金卡引导来重刷特制ROM。
* 金卡(gold card),它是让你欺骗手机上的官方升级程序以获得批准从SD卡文件刷新ROM的一把钥匙,这需要一个将手机读出的CID值解密后写入普通SD卡引导区使之成为所谓"金卡"的过程。究其原理必须要先解释CID,下面引述一篇文章的话,其链接在后。
* "CID(CustomerIDentity),简单来说就是手机的平台版本。刷机过程中SPL(SecondProgramLoader)需要根据CID效验ROM是否可用,并决定是否刷入,一般情况下要求一定要对应CID的ROM才可以用,CID不同的ROM是刷不上去的。对于普通的CID来说,一般有两个限制:1)不能刷入低版本的的ROM,2)不能刷入不同平台的ROM,比如:在台版机上刷欧版ROM、跨型号刷ROM等。SUPERCID有些型号手机的CID的限制是可以通过软件来破解的,但也有也些型号目前还没有有效的方法破解CID。"
"破解限制之后的CID成为SUPERCID,拥有SUPERCID的机器可以刷任意版本和平台的ROM。具体来说,同一个手机既可以刷台湾的ROM, 也可以刷日本的ROM,也可以刷香港的等。甚至也可以刷进一个其他型号手机的ROM。但是这也带来很大的危险性,因为没有了限制,没有了校验,刷入一个错误的ROM也是很容易的事。我们一般刷机时需要破解为SUPERCID,因为一方面现在大部分情况下刷机所用的ROM都是 通不过CID校验的;另一方面万一刷机失败,对于SuperCID的手机更容易修复。"
可见,制作金卡和获取Root权限在Android头一次刷机过程中不可避免,而头次之后就有更方便的方式刷机了,如直接使用ROM Manager应用。
* ADB(Android Debug Bridge)是通过电脑连接Android手机进行指令发送和调试的"桥",包含在Android Sdk中,绝大多数刷机命令都是直接通过ADB shell发送指令到手机上执行的,甚至包括将特定文件的传输。
更多名词解释可参见这里:http://bbs.anshouji.com/thread-507-1-1.html
Android刷机实战
弄明白道理之后,就差具体怎么做了。前人写得很细很好,我不必另搭门面了。 必须要说明几点: 攻略中的机型是HTC Legend,这点上对相似的机型大同小异,只需找到合适的固件。
攻略中使用的是windows系统来帮助刷机,而用mac也完全可以做,攻略里提到R4-Legend-root是是转为Legend写的一些利用ADB的命令,它兼容Windows、Mac和Linux三种操作系统。
上面的步骤中,从"金卡制作"到"获取Root权限"再到刷某个Android版本的固件,这个过程中必须按顺序按步骤完成,不能偷懒。但可以自己决定的是:Root权限获得后刷机到哪个版本,我就是直接刷到2.3的;文中提到的刷Android系统后跟着刷进的Google App包不是必须的,它只安装更多的google应用(个人觉得很多是垃圾)到系统中,而且不易卸载。
最后想说,ROM Manager(这个Android应用的中文名叫"固件管家")这玩意儿不怎么好使,不要试图在旧版本系统下安装后直接用它来刷机了,尤其是现在有很多"一键Root"的应用能够直接拿到Root权限,一位就可以跳过卡面两步了。其实道理在上文中已经不太连续地交待清楚了,只是在这儿用自己的教训再提醒下。
总结 如果看了上一篇blog你已经被Android2.3的有点有所吸引,开始琢磨着要刷刷机试试新玩意儿了,希望看了这篇文字之后能让你放下不少心中的疑惑,迈出自己的一步。
感谢上面链接里攻略的作者Jackeroo ,他详实的文章让我受益匪浅。