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 ,他详实的文章让我受益匪浅。
发表评论
-
编程珠玑番外篇-K. Plan 9 的故事(修订版)
2012-01-20 10:49 708编程珠玑番外篇-K. Plan 9 ... -
使用KGDB构建Linux内核调试环境
2012-01-20 10:49 1126使用KGDB构建Linux内核调试环境 2010年06月27 ... -
内核编译配置选项简介 (2.4.20-8)
2012-01-20 10:49 732内核编译配置选项简介 ... -
Windows钩子编程1
2012-01-20 10:49 557Windows钩子编程1 2010年12月29日 一、什 ... -
Error reading data from static cursor cache
2012-01-19 15:48 775Error reading data from static ... -
[恶搞]LoadRunner 呈现error 标题及解决方法总结
2012-01-19 15:48 768[恶搞]LoadRunner 呈现error 标题及解决方法总 ... -
C# AccessViolationException error Memory Corrupt
2012-01-19 15:48 890C# AccessViolationException err ... -
KEIL C中的warning及error!!!
2012-01-19 15:48 1119KEIL C中的warning及error!!! 2011年 ... -
Research Http error code
2012-01-19 15:47 809Research Http error code 16小时前 ... -
2012.1.12
2012-01-17 05:30 5052012.1.12 2012年01月12日 2012.1 ... -
希望我能有勇气
2012-01-17 05:29 561希望我能有勇气 2012年01月12日 一直以 ... -
土木工程学生的常见认识误区分析与解答
2012-01-17 05:29 706土木工程学生的常见认识误区分析与解答 2012年01月12日 ... -
房屋登记官考核模拟题(6)
2012-01-17 05:29 1688房屋登记官考核模拟题( ... -
习惯真的很可怕
2012-01-17 05:29 593习惯真的很可怕 2012年01月12日 好的习惯能够让你 ... -
【转】浅谈温岭民间的孝文化
2012-01-16 04:25 556【转】浅谈温岭民间的孝文化 7小时前 作者:项琳冰 ... -
中国文化建筑课大纲
2012-01-16 04:25 376中国文化建筑课大纲 20 ... -
斋名集观
2012-01-16 04:25 493斋名集观 2012年01月11日 书斋溯源与称谓 ...
相关推荐
How to apply for PMP certification? It is easy to make it following the several step and points in the file.
how to enable android usb host api
A library to be used for creating android-l like dialogs on android 2.3 Hi, my name is Tomer Rosenfeld. I'm a 15 years old Israeli kid, I love android and especially android L so I figured, why not...
HOWTO-html<br>News-HOWTO-html<br>News-Leafsite-html<br>Oracle-HOWTO-html<br>Plug-and-Play-HOWTO-html<br>PPP-HOWTO-html<br>Printing-HOWTO-html<br>QT 3.3 中文白皮书.pdf Quota RCS-...
How to use in android. It is fun and personal stuff. Really interesting.
Android How to Program(2nd) 英文无水印pdf 第2版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开
用数据驱动招聘替代传统招聘
how to get the android resource code under ubuntu 8.04.I get it in the internet.
包含了将近100张图表,这些图表能用来根据载流能力和温度限制条件来精确估计导线的宽度,这个Excel工具允许设计者根据不同的叠层结构和设计条件填入不同的数值来计算导线宽度。很简单的在绿色单元格内输入项目的设计...
how to create my appidshow to create my appidshow to create my appids
Linux HOWTO(中文版) BootPrompt-HOWTO (28KB) 启动提示说明 CDROM-HOWTO (27KB) 如何安装, 设定及使用光驱,同时列出支援的硬体. Chinese-HOWTO (39KB) 如何在 Linux 的系统上使用中文?/TD> Config-...
how to listen 测音软件 训练金耳朵 评分: 软件为测试听音软件 可以自定义语音、训练自己的耳朵可以分辨音频的细微差别
Android AdvisorA A Galaxy is born Hands-on with Samsung's 2017 flagship phones - How to get Android O Developer Preview Issue 37 2017
How To Write A Dissertation
Polya is one of the most frequently quoted mathematicians, and the following statements from "How to Solve It" make clear why: "My method to overcome a difficulty is to go around it." "Geometry is ...
RK3399的DRM-HOWTO测试 最近在学习与调试RK3399的DRM显示架构,网上有很多例程,其中介绍比较多的是来于David Herrmann’s Github的drm-howto.开源代码 但这些源码下载后执行make编译出来的执行文件只能在PC机上测试...
Android How to Program 2nd EditionAndroid How to Program 2nd EditionAndroid How to Program 2nd Edition
These values catalyzed my interest in publishing How to Speak Tech and engaging deeply in the mission behind it. The book is motivated by the desire to help broaden access to STEM education to ensure...
英文版 C++ How to Program 10th ediiton C++ How to Program 10th ediiton
How Does Game Theory Apply to Radio Resource Management? James Neel