开始刷机
刷机流程图:
获得ROOT
由于三星AMOLED供货力下降,HTC宣布今后不再使用AMOLED屏幕转而使用索尼的SLCD,也是由于换屏的原因价格一路高涨,这次最新到的货的机器检查证明确实也换了索尼的SLCD屏幕,不仅屏幕换了,HBoot版本也更新了, HBoot版本号是0.83.0001的机器都不能破解ROOT,降级到Hboot版本为0.80屏幕黑屏,不显示,从7月30号出厂的机器,最新8月份出厂的机器都不能破解ROOT,这是因为这个版本的Desire使用了新的液晶屏幕。就是SLCD屏(Supper LCD),所以导致刷了官方ROM后黑屏。
检查Hboot版本:
关机状态下按下开机键、然后再按住返回键。机器就会自动出现上图中的Hboot界面。
获得ROOT方法。
1、利用Unrevoked获得root
打开:
下载:
Windows:
http://downloads.unrevoked.com/recovery/3.21/reflash_package.exe
Linux:
http://downloads.unrevoked.com/recovery/3.21/reflash.tar.gz
Mac OS
http://downloads.unrevoked.com/recovery/3.21/Reflash.dmg
安装并运行reflash package
关于Unrevoked的官方解释:
unrevoked3 recovery reflash tool
unrevoked3 is a tool to flash a custom recovery image to your Android phone. A custom recovery image allows you to perform advanced tasks on the system partition, such as flashing custom ROMs and taking a full backup of your phone (a “nandroid” backup). We recommend installing the custom recovery image for all users who want rooted phones.
安装Android_USB_Driver在你的计算机上。
http://www.liangliang/blog/android/Android_USB_Driver.rar
2、在手机上设置一些东西:.
设置---应用程序--"未知源"项目打勾; 然后点击"开发"---"USB调试"项目打勾#
3、禁用电脑上的HTC Sync 。
在任务栏上退出 Htc Sync 并在电脑的任务管理器中结束一个HTCVBTserver这个进程!)
5、将手机在开机状态下用USB数据线连接电脑
在手机中选择"仅充电"模式
6、此时运行reflash.exe程序并用USB数据线连接手机与计算机
手机会自动重启到FastBoot模式下.
7、在电脑的设备管理器里会发现一个Android 1.0的一个未知设备。
然后双击它.点击更新驱动程序.就用上面提供的驱动程序即可(在压缩包中请仔细查找。使用Windows设备管理器)
Root后每次启动时按电源+音量-号键,进入HBootloader。
稍微等下,就可以用“音量下键”下拉到“RECOVERY”,摁下“电源键”,此时手机会白屏,紧接着进入以上我们熟悉的ROOT完后的界面。
获得Root后检查Radio和选择rom
我选择2.2固件Rom:
rom下载地址:
http://www.liangliang/blog/android/2.2rom.zip
关于这个rom经测试没有明显问题,目前使用正常。
radio下载地址:
http://www.liangliang/blog/android/radio32.43.00.32U_5.09.00.20.zip
注:需要配合最新radio32.43.00.32U_5.09.00.20,以前刷过的可以不刷!
将两个下载的zip文件,放在手机的sdcard根目录中,完成了刷机准备工作。
====================================================================
====================================================================
刷机操作
用“光感键”下拉选择“-Wipe data/factory reset”恢复出厂值。
WIPE,什么是WIPE?就是擦除手机,恢复出厂值。
用“光感键”下拉选择“-Yes -- delete all user data”
此时手机会自动wipe,紧接着自动返回到ROOT后的界面
用“光感键”下拉选择“- install zip from sdcard”
继续选择“- choose zip from sdcard”,就可以看到你SD卡里的ROM数据包了。
先选择上图中Radio的zip刷Radio。
光感键确认后开始刷机。
刷完后 “返回键”到ROOT完后的界面,继续重复刷Radio操作选择Rom的zip文件就可以了。。
光感键确认后开始刷机。
刷机完成后用“感光键”选择“- reboot system now”即可重启进入系统。
G7第一次启动新ROM都会比较久,请耐心等待。
其实刷Radio跟刷ROM是一样一样的,只是跳过了wipe这一步的操作。
===========================================================================
背景知识和对Gphone的理念和认识
我新入的Gphone为HTC Desire是台湾宏达电公司推出的以谷歌Android为操作系统的智能手机。
谷歌很牛气,根本不理会Linux内核开发团队,结果被除名。
2月3日,Linux内核开发者Greg Kroah-Hartman将Android的驱动程序从Linux内核“状态树”(“staging tree”)上除去,从此,Android与Linux开发主流将分道扬镳。原因是,“no one seemed to be working on it”,难怪Linux内核开发团队决定不要它了。
但是比起Iphone,Android的优越性还是显而易见的。毕竟是GNU大旗下的独秀。喜欢Iphone的朋友可以看一下。Apple store与GNU的资源比起来简直是沧海一粟了。看看Android的基础构架图(见下)就知道了。
1、什么是Android 系统。
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
2008年9月22日,美国运营商T-MobileUSA在纽约正式发布第一款Google手机——T-Mobile G1。该款手机为台*湾宏达电(HTC)代工制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持Wi-Fi。
Android 是Google开发的基于Linux平台的开源手机操作系统。它摩托罗拉的首款Android手机CLIQ包括操作系统、用户界面和应用程序 —— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。
它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分:低层以Linux核心工作为基础,只提供基本功能,其他的应用软件则由各公司自行开发,以java作为编写程式的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟(Open Handset Alliance)。比如HTC Desire 的UI 界面即由HTC 自行研发,名为Senes,之前,没有一款Android 手机有如此华丽、人性化的界面,由此带来了Android 世界新的界面革命!
与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。
早期的Gphone
发布
1.5 |
2009年4月30日,官方1.5版本(Cupcake)的Android发布。主要的更新如下:
|
1.6 |
2009年9月15日, 1.6(Donut)版本SDK发布。主要的更新如下:
|
2.0/2.0.1/2.1 |
2009年10月26日, 2.0(Eclair)版本SDK发布。主要的更新如下:
|
2.2 |
2010年5月20日, 2.2(Froyo)版本SDK发布。 已确定新功能:
未确定新功能:
|
??? |
已确定新功能:
未确定新功能:
|
系统架构
应用程序
以Java为编程语言,使Android从接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类(class)负责创建视窗(window),一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL链接,达到复数程序同时运行的效果。如果运行中的 Activity 全部画面被其他 Activity 取代时,该 Activity 便被停止(stopped),甚至被系统清除(kill)。
View等同于J2ME的Displayable,程序人员可以通过 View 类与“XML layout”档将UI放置在视窗上,Android 1.5的版本可以利用 View 打造出所谓的 Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的Android HTC Desire手机即含有大量的widget。至于ViewGroup 是各种layout 的基础抽象类(abstract class),ViewGroup之内还可以有ViewGroup。View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity 中,要通过findViewById()来从XML 中取得View,Android的View类的显示很大程度上是从XML中读取的。View 与事件(event)息息相关,两者之间通过Listener 结合在一起,每一个View都可以注册一个event listener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。另外还有Image等同于J2ME的BitMap。
中间件
操作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(Virtual Machine)。
Bionic是 Android 改良libc的版本。Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari 浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。
Android采用OpenCORE作为基础多媒体框架。OpenCORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。
Android 使用skia 为内核图形引擎,搭配OpenGL/ES。skia与Linux Cairo功能相当,但相较于Linux Cairo, skia 功能还只是阳春型的。2005年Skia公司被Google收购,2007年初,Skia GL源码被公开,目前Skia 也是Google Chrome 的图形引擎。
Android的多媒体数据库采用SQLite数据库系统。数据库又分为共用数据库及私用数据库。用户可通过ContentResolver类(Column)取得共用数据库。
Android的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。Dalvik虚拟机是一种“寄存器型态”(Register Based)的Java虚拟机,变量皆存放于寄存器中,虚拟机的指令相对减少。
Dalvik虚拟机可以有多个instance, 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机并非运行Java Bytecode,而是运行一种称为.dex格式的文件。
硬件抽像层
Android HAL 是为了将 Android framework 与 Linux kernel 隔开,降低对 Linux kernel 的依赖,以达成kernel independent。Android HAL 目前以 HAL stub 的形式存在,本身是.so 档,是一种 proxy 的概念。Android runtime 向 HAL 取得 stub 的 operations,再以 callback 的方式操作函数。
操作系统
Android 是运行于 Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到 userspace,使得Linux driver 与 Linux kernel彻底分开。bionic/libc/kernel/ 并非标准的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所产生的,这样做是为了保留常数、数据结构与宏。
目前Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Managemeat),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建工具 Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。
(刷机是更新Kernel以及全部,其中开发界面应该是Gphone的单片机rom入口,刷机并不刷这部分。所以HD2安装Android有所困难,在于单片机rom部分需要刷新,相对而言更为封闭些。)
我们知道了Gphone的构成。下面开始还需要对刷机进行预备知识的概念学习。
基础知识:
为什么刷机:
很简单,升级更高版本的操作系统,改善运行的语言环境,定制自己的程序需求。
1、刷机流程图:
2、关系图
3、APK 是什么。
APK 是Android Package 的缩写,即Android安装包。APK 是类似Symbian Sis 或Sisx 的文件格式。通过将APK 文件直接传到Android 模拟器或Android 手机中执行即可安装。我们安装APK 一般有这样几种途径:
1、使用电脑上的 91手机助手 for Android 程序,连接HTC Desire进行安装,此方法简单明了,只要连接好HTC Desire 在你的电脑上双击APK 文件,即可将程序安装在手机上;
2、将APK 文件拷贝入手机的存储卡,在手机上运行安装好的APK 程序安装器,找到拷贝的APK 文件进行安装。
3、直接使用手机在“电子市场”、“安卓市场”上面在线下载安装。(你在两个市场下载安装过的软件,都在data/app 和 data/app-private 的文件夹里面,把这两个文件夹的文件(apk和zip)都拷贝出来,放一起,用安装有91手机助手的电脑,挨个双击,会显示哪个是哪个,自己可以改好中文名字,下次再装可就不用爬去安卓市场和电子市场找了,直接一顿双击,安完。)
4、什么是ROM,什么是RUU。
ROM,是用来刷你手机系统的数据文件,也就是Android 系统的封装包,通过手机的工程模式解压安装到手机中形成你手机的操作系统。官方原版ROM 就是RUU,(相当于原版Windows XP)首先他是一个最安全的升级工具,可以让我们安全的升级ROM (一定要对应的机型)。当我们在刷机过程中由于不当的操作或版本选择的错误,导致无法启动,可以使用官方的RUU 程序来恢复系统,等于说,这是一个救命道具。
除了官方的RUU 之外,HTC Desire 还能运行很多由高手们自制、定制、优化了的Android 系统,比如安逸、MoDaCo、FLZYUP 这些ROM ,就好像一个Ghost XP 的Ghost 文件,就如同深度、番茄花园、雨木林风等等不同的Ghost XP 系统,直接拷贝在存储卡上,使用手机的Recovery 模式就可以安装。
5、什么是Radio。
Radio指代的是通讯模块,就是手机里面负责信号部分的模块,PDA类型的手机,基本都强调这么个概念。一个是PDA,一个是手机(貌似是句废话- -),举个很简单的例子,以三星的PPC手机为例,比如i718.比如i908,他们在刷机的时候(所谓刷机就是重装系统)一般都是分两部分,第一部分刷手机部分,第二部分刷PDA部分,而且两部分基本不相干。
6、我怎么知道我的手机版本。
在HTC Desire设置——关于手机,可以查看你的固件、手机操作系统、radio(baseband版本即是)的版本。根据你的使用情况和你的手机的版本,你可以决定是否对手机进行升级。
7、什么是app2sd。
Google 手机的软件为了安全性和稳定性都是默认安装到手机内存里,但是手机内存有限,所以我们会做app2sd 操作,来让我们安装的软件放到sd卡上,而Google 的android 系统是基于Linux 的,所以存储卡上本身的Fat 格式是不会被识别的,所以我们要分区(第二分区)出来,格式成Linux 认识的ext2 或3 或4 格式,在用链接命令,把这个分区映射成一个系统文件夹system/sd(大概这个意思),把所有的软件装到这个“文件夹”下,这就是app2sd 的操作。需要ROM 支持并开启app2sd 功能。
app2sd 的操作其实是牺牲了一部分软件的速度和稳定性来换取更多的手机内存安装更多的软件。另外,app2sd只是把软件放到了sd卡上,运行软件还是需要占用手机的内存的,所以,你装了软件之后,一般手机内存还是会减少一些。你如果安装的软件在70个以内,个人觉得没有必要,呵呵,如果很多游戏软件除外。此外,使用app2sd 最大的好处就是,刷一个带app2sd 的rom 之后,以后升级这个rom(依然带app2sd)的时候,你的软件都会完整保存(个别除外,比如htc input chinese需要重新添加几个文件到system/lib下),不过很多ROM 是需要Wipe ext 分区的,也就不能保留了。
目前来看我们现在所使用的Android 各种软件暂时还没有进行app2sd 的必要。
8、什么是root,我需要它做什么。
root是Linux等等类UNIX系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权利,所有对象他都可以操作,所以很多黑客在入侵系统的时候,都要把权限提升到root权限,也就是将自己的非法帐户添加到root用户组.
administrator是windows nt内核系统中的超级管理员用户帐户,也拥有最高的权限。但也不全是,在WINDOWS下,administrator的资源和别的用户资源是共享的,简单的说,别的用户可以访问administrator的文件。而Linux中,别的用户是不能访问root用户的家目录(/root)下文件的。因此,Linux比Windows更安全。
什么是root,我需要它做什么?
root就是手机的神经中枢,它可以访问和修改你手机几乎所有的文件,这些东西可能是制作手机的公司不愿意你修改和触碰的东西,因为他们有可能影响到手机的稳定,还容易被一些黑客入侵(Root是Linux等类UNIX系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权利,所有对象他都有可以操作的权利,所以很多黑客在入侵系统时,都要把权限提升到Root权限,就是将自己的非法帐户添加到Root用户组。类比于Administrator是Windows NT内核系统中的超级管理员用户帐户,也拥有最高的权限。但不同的是,在WINDOWS下Administrator的资源和别的用户资源是共享的,简单的说,别的用户可以访问Administrator的文件。而Linux中,别的用户是不能访问Root用户的家目录(/root)下文件的。因此,Linux比Windows更安全)
既然root权限这么重要,我们为什么还要去获取它?
其实用root的权限主要是因为我们很多东西是受限制的,我们只能利用这些权限来做我们被限制的去做的事情,比如Google禁止我们看到市场里很多免费或付费软件,我们可以用Marketenabler进去看;很多朋友只能看不能下,不能绑定gmail,我们可以修改hosts来搞定他们,但这些都需要root权限(由于Root权限对于系统具有最高的统治权,便可方便的对于系统的部件进行删除或更改。对于玩家而言,最大的诱惑是在于“刷机”,只有获得Root权限,我们便可随心所欲地对自己的爱机进行“重新包装”,感受新版本软件的优点)
例如:当G7手机通过USB线连上电脑时,讨厌的sync工具就会自动启动,老是在notification bar那里看到。对于Windows用户,还有工具可以同步,对于Mac/Linux用户来说,没用。有没有办法解决呢?当然有了!
adb remount
adb shell rm /system/app/PCSCII*
这里的关键就是adb remount,这是一个重新mount你的分区的命令,让你的system分区从只读变成可读可写,只有获得了root权限才可能运行。
取得root的好处;我如何取得?
1 可以备份系统
2 使用高级的程序 例如资源管理器
3 修改系统的程序
4 把程序安装在SD卡上(默认是不支持的)
绝大多数自制的rom都已经获取了root,如果你的rom没有的话,就要自己取得。
很重要的提示;记住 如果你的手机是行货,在保修之内,获取root就会丧失保修的权利。不知道通过本文,你是否对root权限有了更为透彻的了解了呢,当然ROOT也应该根据我们所需,如果你是个爱玩,爱研究手机的机友,那么root权限就会对你很重要,但是如果你只是用手机打打电话之类的,那么root显然和你没什么关系了。
9、什么是recovery。
recovery 就是你用 home 键+开机键 开机后能进入的一个界面(工程模式),在这个界面你可以直接用sd 卡上的zip 的rom 升级或者备份你的系统,老版本的recovery 只有三个选项,无法备份系统,只能用update.zip这个文件名的文件升级,不能用任何文件名的zip文件升级。新版本已经多出很多选项可以供你操作。
此外,一般刷rom 之前最好wipe一下(wipe只是抹除rom 以外的个人数据,不会影响rom 本身),也就是返回出厂设置一下比较好,但是这样就会丢失你的所有软件,短信彩信,联系人(备份在google上没有关系)和设置等等,备份或者不wipe 都可以。这里面有recovery各项功能的讲解。
基础操作
1、menu 键的使用。
在各种程序或者界面中打开隐藏的操作菜单,特别是对于程序的保存或者退出很重要。很多人都说Android 的程序很多都没有关闭选项,其实不然,很多程序点击menu 键都会有“关闭”或者“退出”的选项。用好menu 键,对于你的操作会有莫大的帮助。
2、小房子 键的使用。
在任何界面,点击 小房子 键都会回到主界面,@_@ 这个好像是废话……
长按住 小房子 键,可以在多个程序之间切换,哇哈哈,体现出hero 相比IP 不可比拟的多线程操作性。
3、轨迹球。
很多时候不方便用手指选取的时候,使用 轨迹球 可能是个不错的选择,在输入文字的时候,展开选字菜单后,滚动 轨迹球 可以较为精确快速的选择文字或词组。当输入有误的时候,可以使用轨迹球滚动光标到有误的地方去修改,比手指好用。
4、令你常有惊喜的操作:长按。
长按,可以说最基本的一个触控操作,用好了会有很多惊喜。
长按图标我就不说了,长按别的地方你也应该多试试,很多会出现你想要的菜单。比如:长按要输入的文字框,可以选择默认输入法;长按信息,会弹出信息操作的相关选项等等。
5、拉下上方的通知条。
有些人不知道上面显示出的东西都是什么,不知道不要紧,只要你用手指向下将 通知条 拉成全屏,很多信息的详情都会显示在上面,再也不用为那些图标代表什么意思而烦恼了是吧?
6、桌面上的 + 号键
这个键子一开始我没觉得有什么用,但是后来布置起桌面来发觉特别有用,大家好好研究研究,特别是在 设置 里的开关无线网络的一些小功能都可以直接放在桌面上的,大家慢慢研究哈,不多说了。
7、各种组合功能键
万一死机了怎么办?按 声音-号 +光感+电源 可以直接重启,不用抠电池。
关机后按 返回+电源 进入 recovery 模式。
关机后按 返回键+挂机键 进入Fastboot 模式。手机原始界面按*#*#4636#*#*进入高级设置,手机原始界面按*#06#显示手机的串号,有些人输入了不好使是因为你使用了智能拨号接管了手机的原始拨号界面。
向下拉动展现通知条的详细信息
图标含义:
很不错的介绍文章!
我当初就是从G1开始入手的。
现在用的motorola的milestone很满意。理由是,我一直是全键盘手机的fans.
非常感谢你提供的这么有用的东西
今天刚入手的G7 看了好多好多的什么教程还有文章都是看的头晕 你写的好详细 虽然我也不是完全懂 但是im getting there:)
谢谢你
Gphone的理念在很多网站都有相当的介绍,中关村在线就有很多类似的帖子,而且关于G7刷机的帖子也是泛滥,不过还没有看到过向这片一样详细的,很不错。