How to apply Android 2.3 to my HTC

原创 2011年01月27日 02:00:00

      相亲们哪,刷过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刷机实战

     弄明白道理之后,就差具体怎么做了。前人写得很细很好,我不必另搭门面了。

  1. 金卡制作:http://www.iteeyan.com/2010/07/root-the-htc-legend-g6-goldcard-maker/
  2. Root权限获得:http://www.iteeyan.com/2010/07/root-htc-legend-g6-hacker/
  3. 刷机到Android2.2:http://www.iteeyan.com/2010/08/upgrade-legend_g6_2_azure_02/
  4. 更新到Android2.3:http://www.iteeyan.com/2011/01/flash-htc-legend-g6-to-android-2_3-gingerbread/

必须要说明几点:

  • 攻略中的机型是HTC Legend,这点上对相似的机型大同小异,只需找到合适的固件。
  • 攻略中使用的是windows系统来帮助刷机,而用mac也完全可以做,攻略里提到R4-Legend-root是是转为Legend写的一些利用ADB的命令,它兼容Windows、Mac和Linux三种操作系统。
  • 上面的步骤中,从“金卡制作”到“获取Root权限”再到刷某个Android版本的固件,这个过程中必须按顺序按步骤完成,不能偷懒。但可以自己决定的是:<1>Root权限获得后刷机到哪个版本,我就是直接刷到2.3的;<2>文中提到的刷Android系统后跟着刷进的Google App包不是必须的,它只安装更多的google应用(个人觉得很多是垃圾)到系统中,而且不易卸载。
  • 最后想说,ROM Manager(这个Android应用的中文名叫“固件管家”)这玩意儿不怎么好使,不要试图在旧版本系统下安装后直接用它来刷机了,尤其是现在有很多“一键Root”的应用能够直接拿到Root权限,一位就可以跳过卡面两步了。其实道理在上文中已经不太连续地交待清楚了,只是在这儿用自己的教训再提醒下。

总结

     如果看了上一篇blog你已经被Android2.3的有点有所吸引,开始琢磨着要刷刷机试试新玩意儿了,希望看了这篇文字之后能让你放下不少心中的疑惑,迈出自己的一步。

     感谢上面链接里攻略的作者Jackeroo ,他详实的文章让我受益匪浅。

Applied Android 2.3 to my HTC

我的HTC机型是Legend(G6),今天之前的系统版本是Android 2.1,使用着可用空间只有可怜的几十兆的手机内部存储器。一直觊觎android丰富的应用库,却总在安装时捉襟见肘。然而这种惨状...
  • shaobo_wu
  • shaobo_wu
  • 2011年01月24日 10:49
  • 682

Android Studio 2.3 正式起航

Android Studio 2.3 现已提供下载。此版本的重点是整个 IDE 的质量改进。我们感谢大家迄今为止提供的所有反馈。我们致力于持续投入,让 Android Studio 成为全球数以百万计...
  • xiaole0313
  • xiaole0313
  • 2017年03月09日 20:13
  • 4195

How I explained OOD to my wife

Introduction My wife Farhana wants to resume her career as a software developer (she started her c...
  • cszhouwei
  • cszhouwei
  • 2015年04月20日 19:04
  • 895

SAP Note assistant - Using transaction SNOTE to apply OSS notes

The Note Assistant (transaction SNOTE) helps you to implement SAP OSS notes. Although itis not perfe...
  • bayaci
  • bayaci
  • 2010年05月12日 09:14
  • 2360

android studio 升级到2.3 不支持apt

android studio 升级到2.3以后提示: Warning:Using incompatible plugins for the annotation processing: androi...
  • u011626964
  • u011626964
  • 2017年09月06日 17:32
  • 282

【OOD】How I explained OOD to my wife

前言   此文译自CodeProject上How I explained OOD to my wife>一文,该文章在Top Articles上排名第3,读了之后觉得非常好,就翻译出来,供不想读英文...
  • WHUZXQ
  • WHUZXQ
  • 2017年04月07日 09:30
  • 416

How to install Google Apps (GApps) on your Android Device / Phone

http://senk9.wordpress.com/2010/12/03/how-to-install-google-apps-gapps-on-your-android-device-phone/...
  • frank2336
  • frank2336
  • 2011年10月20日 14:20
  • 9121

How to Keep Your Skills Up-to-Date in the New Year(如何提升测试技能)

原文链接:http://www.joecolantonio.com/2014/01/14/test-automation-trends-for-2014-how-to-keep-your-skills...
  • xiaoguanyusb
  • xiaoguanyusb
  • 2015年12月05日 20:39
  • 130

HTC Android 系列手机 工程测试命令

我在G4上测试通过。 *#*#3424#*#* 进入测试界面后会看到共13个测试项,我依次测试,结果如下: 1、LED test:测试LED灯是否完好。共3个测试项,green是绿灯,G4上听筒...
  • lincyang
  • lincyang
  • 2010年12月28日 10:02
  • 10435

Linux下完美驱动HTC Android手机的Internet传输(通过USB共享电脑网络)

Htc android手机的Internet传输(Internet pass-through)是手机使用USB连接线通过PC上网,共享电脑网络。 但是,这么好的功能需要在windows系统下安装...
  • eyf0917
  • eyf0917
  • 2014年07月15日 22:49
  • 1453
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:How to apply Android 2.3 to my HTC
举报原因:
原因补充:

(最多只允许输入30个字)