安 卓 学 习 笔 记 一、基本概念: 1、 什么是android
android的英文意思是“机器人”,在这里指的是谷歌公司于 2007年11月5日宣布的,一种基于linux平台的开源操作系统。
3、 android操作系统的分区
对电脑系统了解的朋友都知道,简单来说,电脑分硬件和软件两大块,软件装在硬盘上,比如操作系统windows,使用者通过windows来控制机器硬件,达到使用电脑的目的。 手机也分为硬件和软件两块,软件则是装在闪存(即flash memory,一种存储器)上的,闪存有大小的区别,就像硬盘有大小一样,看手机硬件配置的时候,通常会看到如下介绍:ROM 512M,RAM 512M,ROM就是指的闪存了,相当于电脑上的硬盘,用来存放操作系统和用户数据等信息。相应的,RAM就是指的内存了。 手机出厂时都是装好系统的,这点类似于电脑世界里面的品牌电脑,通过分析手机闪存上的内容可以知道,android操作系统主要有以下几个重要的分区(包括但不限于): hboot分区----------负责启动。 1、hboot(SPL):这里指的是手机上的启动模块,通俗的说,就是负责手机启动引导的一段程序,类似于电脑主板上的BIOS,都是负责底层操作的。和在电脑上刷新BIOS一样,刷错了,电脑就会开不了机,对手机来说也一样,这部分的内容刷错了,手机就会变砖!
2、radio:这里指的是手机上的通讯模块,又叫做基带。负责手机的无线信号,蓝牙,WIFI等设备的管理,也就是说,相当于电脑系统里面的硬件驱动部分。这样说或许也不是特别的准确,大家明白大概的意思就可以了。通常我们所说的刷radio,刷基带,就是指的刷写这一部分,以便解决通话质量、网络连接质量、蓝牙连接等等问题。
3、recovery:字面意思是恢复,手机上的一个功能分区,有点类似于笔记本电脑上的恢复分区。一般大厂出的笔记本,都会自带一个特殊分区,里面保存着系统的镜像文件,当系统出问题的时候,我们可以通过它来一键恢复系统。这里的recovery功能有些类似。其实,他更像是电脑上的小型winPE系统,可以允许我们通过启动到winPE系统上,去做一些备份、恢复的工作。当然,系统自带的recovery基本没用,所以我们通常会刷入一个第三方的recovery,以便实现更多的功能,例如:备份系统,恢复系统,刷新系统等。但官方自带的recovery也不是一无是处,在使用OTA方式升级系统时候,会检查此分区内容,如果不是原厂自带的,OTA升级就会失败。
4、fastboot:字面意思是快速启动,在这里,其实是一个特殊的工程模式,通过fastboot界面,连接电脑后,我们可以在电脑端通过特殊的指令来操作手机,例如更新radio,就可以通过fastboot来完成。fastboot的级别又要比recovery来的要高一些,可以完成更底层的一些操作。后面我们会结合实际,来讲解一些fastboot的用法,更详细的资料,大家可以通过网络来学习,这里不再赘述。
5、ADB:android debug bridge,字面意思就是安卓调试桥接,简单点说,它是android系统提供的一套工具,通过它,我们可以在电脑上建立一个连接到手机的通道,然后可以在电脑上向手机发送一些指令,完成一些我们需要做的工作。ADB的用法我们后面也会作相应的介绍。
6、ROM:read only memory,只读存储器。上面我们讲过的,android系统都是安装在闪存里面的,这个闪存,就是一种只读存储器,断电情况下里面的内容不会消失。刷机,就是刷的ROM。有点类似电脑里的硬盘,ROM里面有很多分区,hboot、boot、system等等,前文介绍过的,还记得吗?说到这里,想到一个好笑的事情,某人问老婆,知道什么是ROM吗?答曰:room?不就是房子吗?晕倒,我说的是R O M ,不是R O O M!!奥,那就是小房子了!狂晕!!
7、OTA:Over The Air,意思是空中升级,当手机系统有更新出现的时候,通常我们会收到官方发送的一条信息,告诉我们,手机系统有更新了,是否需要下载。其优点是点对面,属于广播的形式,有需求的时候可以自由下载。
8、CID:Customer IDentity的简称,即客户身份。销往不同地区的手机,会有不同的CID,以DHD为例,香港的CID为622,台湾的为621,大陆的为701,等等。这个信息,我们可以在hboot界面下(必须是S-OFF),进入SYSTEM INFO选项来查看,类似于:CID_622这样的字段。正常状态下的CID,有两个限制,一个是不允许交叉升级,意思是,你是港版的CID,那么你只能选择官方港版的升级包进行升级,你选择欧版的官方升级包,是无法升级的。第二个是不允许降级,即从高版本降低到低版本,也是不被允许的。
9、SuperCID:即超级用户身份,通过一些手段破解,我们可以让手机的CID变成SuperCID,以DHD为例,破解后,CID字段变为:CID_11111111,这样我们就可以跳过官方的验证机制,从而可以刷不同版本的官方包,或者是给系统降级。
10、金卡:很多朋友不明白什么是金卡,这里的卡,是指的你手机里面的TF卡,普通的卡经过特殊的处理,就会变身为金卡,做好的金卡,和平时的TF卡一样来使用,并不会对用户造成什么影响。之所以叫金卡,是因为他可以达到和上面SuperCID一样的目的,即让你跳过验证机制,从而进行刷机。那我们有了SuperCID了还需要金卡吗?不需要。那什么时候需要金卡?当我们没法通过破解得到SuperCID的时候,我们就需要制作金卡了。后面会介绍如何制作金卡。
11、APK:APK是Android Package的缩写,是一种文件格式,类似于windows系统里的EXE可执行文件。在android上,各种程序软件都是通过打包成APK的形式来发布的。他其实就是ZIP格式的文件包,可以用winRAR之类的压缩软件来打开。通过将APK文件直接传到android模拟器或android手机中运行即可安装相应软件。我们从网上还有电子市场下载的android系统的程序文件,都是APK格式的。 三、什么是ROOT? unix系统提供一个命令,名字叫:su,什么是su呢? 再说下我们熟悉的windows吧,在windows里面,如果你使用一个非管理员用户登陆系统,有时候我们又需要在管理员用户下才能完成一些工作,比如,有些程序就需要用管理员的身份来运行,怎么办?一个是注销该用户,然后用管理员用户登陆,还有一种方法,在windows7里面,我们可以通过右键,选择“以管理员身份运行”来完成我们要做的工作,这样就不用来回切换用户了。 那么在linux下面,su就是用来完成这样的工作的。当我们需要用管理员的身份来运行程序的时候,我们可以通过su来切换到root用户下。但官方的手机系统里面,为了安全起见,是不带有这个命令文件的,使得我们无法得到系统管理员的高级权限。 既然官方没有给我们提供这样的便利条件,我们可以自己来创造。前面的文章介绍过,手机的ROM就相当于电脑的硬盘,也有自己的目录和各种文件,而我们把su放进rom的相关目录下(比如system/xbin/)的这个过程就叫做rooting,大家经常在论坛里看到的,说要把手机root,其实就是说的这个过程,我们称之为rooting似乎更为恰当些。把su放进手机里面的同时,我们也就具备了通过su来切换到root用户的条件。 为了防止不良软件也取得root用户的权限,当我们在rooting的过程中,还会给系统装一个程序,用来作为运行提示,由用户来决定,是否给予最高权限。这个程序的名字通常叫做superuser。 当某些程序执行su指令想取得系统最高权限的时候,superuser就会自动启动,拦截该动作并作出询问,当用户认为该程序可以安全使用的时候,那么我们就选择允许,否则,可以禁止该程序继续取得最高权限。 所以,rooting的过程,其实就是往系统里拷贝su和superuser两个程序的过程。当然,卸载掉这两个程序,手机也就失去了切换到管理员用户root的条件。 讲到这里,你应该已经清楚什么是root了吧。root只是一个用户账号,它具备在linux世界里最高的权限,我们平时所谓的root,其实应该叫rooting,他是一个过程,是把su和superuser这两个程序放到手机相应目录的这样一个过程。而通常,厂商是不会允许我们随便这么去做的,我们就需要利用操作系统的各种漏洞,来完成这个过程。由于手机型号不同,品牌不同,对应的漏洞自然也会不同,那么,rooting的过程也就会有所不同,所以前面说,没有一个固定的rooting操作流程就是这个原因了。做完这个工作了,也就可以说:你的手机已经root了。 取得手机的管理员权限可以帮助我们更好的使用手机,但同时,使用不当的话也是有一定风险的,这也就是为什么手机厂商不开放此功能的原因了。 四、要刷机,先root 特别提示: 2011-5-17 11:27 上传
2011-5-17 11:27 上传
2011-5-17 11:27 上传
2011-5-17 11:27 上传 如果出现了#号,说明取得root权限成功。 五、进阶-把手机由SHIP S-ON 变为ENG S-OFF 前面我们曾讲过,对于普通用户而言,SHIP S-OFF相比ENG S-OFF要来的安全很多,因为不用去刷hboot分区。
假如你的手机是SHIP S-ON状态,那么我建议你,先变成SHIP S-OFF,然后,有需要的时候,再去刷这个修改版的ENG hboot,从而使手机变成ENG S-OFF。
就是下面这两步: 如果你的手机已经通过别的方法先变成了ENG S-OFF, 就是已经由SHIP S-ON----ENG S-OFF 下面我们再来介绍,如何把手机由SHIP S-ON(OFF)变成ENG S-OFF
准备工作: 1、到笔者的网盘下载相关的文件,解压后上传到手机的根目录下,不要有两个DHD目录哦,应该是DHD目录下直接可以看到文件的。链接地址: http://u./file/f5f4bc20f3# DHD.rar 2、准备好ADB工具,并且满足ADB工作所需要的条件(参看相关教程第六章)。 3、手机取得了临时或者永久root权限。 2011-5-17 11:50 上传
3、输入:“sh /sdcard/DHD/check”,回车。注意sh后面有个空格,下同
2011-5-17 11:50 上传
4、比较后一致的话,跟着屏幕的提示输入:“sh /sdcard/DHD/backup”,回车。
2011-5-17 11:50 上传
5、重要的一步来了,输入:“sh /sdcard/DHD/hboot”,回车。
2011-5-17 11:50 上传
第一行是刷入到你手机里面的修改版的HBOOT的MD5值。 第二行是存放在DHD目录里的修改版的HBOOT的MD5值。(和第一条命令那里查看时显示的是一样的) 第三行是你手机里面原版的HBOOT的MD5值。(和第二条命令那里备份时显示的是一样的) 有几种情况会出现: 1、第一行和第二行一样(而且应该和第三行不同),说明刷进手机里面的hboot的MD5值,和存放在DHD目录里的修改版的hboot的MD5值一样,刷新成功了,可以重启手机了。 2、第一行和第三行一样(而且应该和第二行不同),说明刷进手机里面的hboot的MD5值,和备份的原版的MD5值一样,代表没有刷进去,但还是安全的,因为还是原版的那个hboot,重启手机,重复进行上述步骤。 3、第一行和第二行、第三行都不一样,什么意思明白了吧,说明刷进手机里面的,和DHD目录里的、备份的对比,都不一样,说明刷新失败了。
恢复完成后,对比下备份时候出现的那个MD5值,应该是一样的,说明恢复成功了,把原来那个备份的hboot又重新刷进去了。 然后重做第5步,或者安全起见,可以选择先退出,找到问题原因再来操作。 上面写了那么多,其实你就输入了三条命令而已: sh /sdcard/DHD/check sh /sdcard/DHD/backup sh /sdcard/DHD/hboot 细心点,只要按照上面的说明去做,看清屏幕上的提示,你就会成功的!
六、三种刷入第三方RECOVERY的方法 要刷第三方的刷机包,很显然,我们没有了官方程序的支持,怎么办,我们可以通过刷写recovery分区,刷进去一个特殊的程序,通过它来完成刷机的工作。这个程序前面提到过,就是:ClockworkMod recovery。 怎么才能把ClockworkMod recovery刷进我们的手机里面呢? 先介绍第一种方法(此方法的前提是手机已经取得永久root权限,S-OFF不是必须的): 3、准备好ADB工具,并且满足ADB工作所需要的条件(参看相关教程第六章)。 下面跟着我来操作: 2011-5-17 12:22 上传
3、输入:“sh /sdcard/DHD/check”,回车。注意sh后面有个空格,下同。
2011-5-17 12:22 上传
4、跟着屏幕的提示输入:“sh /sdcard/DHD/backup”,回车。
2011-5-17 12:22 上传
说明:3、4两步的原理,第九章已经说明,此处不再重复。 特别注意: 5、输入:“sh /sdcard/DHD/recovery”,回车。
2011-5-17 12:22 上传
说明,这一步就是把DHD目录下的recovery.img镜像文件,写入到手机里,替换掉系统自带的recovery程序。 完全关机,按音量-键的同时按开机键,进入HBOOT,按音量-键,选取recovery,然后按电源键确认,进入recovery操作模式,你应该看到如下界面:
2011-5-17 12:22 上传
在ClockworkMod Recovery中,我们可以使用音量鍵上下移动光标,选择要执行的指令,然后按下电源鍵就可以执行该选项了。 说明:虽然我们可以在S-ON的机器上通过上述方法刷入第三方recovery程序,但是因为安全锁还是打开的,所以即使有root权限,还是无法去删除系统程序的。 再介绍下用一键刷机助手刷新ClockworkMod Recovery的方法(此方法需要手机取得永久root权限,且手机已经S-OFF,两种S-OFF均可。): 到这个帖子,http://bbs./thread-322575-1-1.html下载最新版一键刷机助手
下面介绍的这种方法,只适合ENG S-OFF的机器。通过fastboot来刷入ClockworkMod Recovery。 1、先到笔者的网盘下载所需软件:链接地址: http://u./file/f542b39d87# 一键写入RECOVERY.rar 2、解压到电脑硬盘的任何位置; 3、完全关机,按音量-键的同时按开机键,进入HBOOT; 4、手机用数据线连接电脑; 6、在电脑上双击运行文件夹中的“一键写入RECOVERY.bat”文件; 7、刷新完成后会自动重启手机! 验证刷写成功的方法同上! 其实还有一种刷入recovery的方法,我们会在后面介绍到。 七、利用第三方RECOVERY刷机 上一章我们介绍了如何把第三方recovery刷进手机,本章来介绍如何利用它来备份与还原系统。 先来看一下ClockworkMod recovery的中文软件菜单说明:
完全关机,按音量-键的同时按开机键,进入HBOOT,按音量-键,选取recovery,然后按电源键确认,进入recovery操作模式,你应该看到如下界面:
2011-5-17 14:54 上传
按音量上下键移动光标到backup and restore:
2011-5-17 14:55 上传
2011-5-17 14:55 上传
Backup:对ROM进行备份(主要是备份了boot、cache、data、recovery和system分区) Restore:将备份还原到ROM里。 Advanced Restore:可针对特定分区做还原。 执行backup后,如图所示:
2011-5-17 14:55 上传
备份完成后,会自动回到上一菜单,可以选择reboot system now重启系统。
2011-5-17 14:55 上传
如要还原系统,请选择Restore,如果做过多次备份,选择你要恢复的那个备份就可以了: 2011-5-17 14:55 上传
刷第三方定制的ROM包,好处多多。
首先,优化内核,让系统更高效的运作; 其次,修改一些系统文件,使它更适合在当地运行,比如优化APN,让你的手机自动建立GPRS设置,无需再做调整,优化GPS配置文件,让你的导航系统更迅速的运行等等; 再次,既然是定制,肯定去掉了不少官方包里面的一些垃圾程序; 再次,升级相关系统文件,比如自带的谷歌套件,电子市场等; 再次,加入一些好用的软件,开机就可以方便使用; 再次,加入定制的美化图标,比如系统电池的百分比显示之类,让你的系统变得更漂亮等等。
这么多好处,还犹豫什么呢,跟着我来操作,继续我们的刷机之旅!
上一章我们已经介绍了ClockworkMod recovery的中文菜单说明以及备份恢复系统的方法,这里再介绍下如何利用ClockworkMod recovery来刷入第三方刷机包。
以上是标准的刷机流程,别懒省事不做format那几步,可能会有些莫名其妙的问题出现,我就遇到过。 90%的刷机包,都是这么刷的,如果有特别需要注意的地方,一般制作刷机包的作者都会有特别说明的,根据说明操作即可。 刷官方升级包 其实要刷新官方的升级包,并不需要你的机器具备root或者S-OFF,出厂的原版机器,只要是找到对应的官方升级包,都可以去升级。 前面也提到了,原版系统,要升级官方刷机包,有两个前提条件: 第一:你是从低版本往高版本升级,官方包在运行后,会先检查对比版本号,如果从高到低,会拒绝运行。很奇怪的一个规定,如果升级了,发现新版本不好用,那怎么办?官方没有给你这个答案,或者答案是:没办法,继续用吧。 所以我们才需要去做S-OFF这一步工作。那ENG S-OFF和SHIP S-OFF比,哪个更适合使用官方包呢? 当然是后者,原因前面文章里面已经多次提到,这里不再罗嗦了。 笔者并不建议去升级官方的刷机包,虽然SHIP S-OFF可以允许你随意升降,但升级过的系统,并不具备root的权限,而且目前也暂时无法取得,要来何用呢? 当然,萝卜白菜各有所爱,笔者不喜欢的不见得大家不喜欢,所以在这里还是提供一下方法,给有需要的朋友,升级过程很简单,全自动运行。我也懒得抓图了。
1、一个电量充足的DHD手机。 2、一个官方的刷机包,RUU开头的EXE文件,建议大家到这里去找: http:///index.php?sort=date&path=DesireHD/RUU/ 3、电脑上安装好HTC Sync同步软件。 4、手机用数据线连接电脑,并选择“Sync”同步方式。 5、直接在电脑上运行RUU文件。 6、开始刷机,中途根据界面提示操作,不要拔除数据线。耐心等候升级完成。
官方升级包的原理,运行该程序后,会先去比较版本号,看是否满足由低往高升级的条件,接着会验证CID,看你的验证码和即将要刷的包,是不是相符,是不是同一区域的。如果都通过了,就开始刷机。他会先把安全锁关闭,然后开始升级,ROM里面的每个分区都会被覆盖,包括hboot,radio,boot,system,userdata,cache,开机画面等等,属于完整升级方式(我们通常刷的第三方修改包,都仅仅是刷的boot和system分区)。刷新完毕后,再把安全锁打开。
制作金卡 1、确保手机内有TF卡,并且被格式化成FAT32格式,全新卡或者正在使用的卡都行;(如果正在使用,请备份好里面的资料。) 2、电脑上已经安装了HTC Sync同步工具; 3、手机通过数据线与电脑连接,方式选择为“HTC Sync”同步方式; 4、下载上述工具,解压到电脑上任一目录下; 5、运行解压目录下的getcid.cmd; 6、同目录下会出现文件:cid.txt; 7、打开这个文本文件,复制其中的一长串数字,如果有两行,请复制第二行; 8、打开http://hexrev./,把刚才复制的内容填写进去,点击submit; 9、又会得到一长串字符,复制它; 10、打开http://psas./?q=goldcard;在email和repeat email那里,填上你自己的邮箱地址(两处需相同),最好的126或者163之类容易收信的邮箱; 1、运行该RUU开头的EXE刷机文件,等到界面出来后,不要着急点下一步; 2、到C盘的临时文件夹下,去找rom.zip这个文件,可以用搜索功能把它找出来; 3、把它更名为PD98IMG.zip,并复制到TF卡的根目录下; 4、完全关机,按音量-键的同时按开机键,进入HBOOT,系统会自动检测,如果检测到了TF卡根目录下的这个文件,会询问你是否开始update,请根据屏幕提示进行操作。 5、完毕后请重启手机,刷机完成!
如果你的升级包和你原有官方系统不是一个地区的,而你的机器又是S-ON出厂状态的,如果金卡没有制作成功,上面的步骤是完成不了的,会提示你无法升级。 如何刷新Radio 下面介绍的这种方法,仅适用于通过ENG S-OFF方式解锁的手机。
1、你的手机已经取得了永久root权限; 2、你的手机已经通过ENG S-OFF方式解锁; 3、到笔者的网盘下载相关软件,链接地址: http://u./file/f58a67ff10# fastboot.rar 4、准备好你要刷入的radio文件,更名为radio.img方便后面操作,将改名后的文件放到C盘解压后的fastboot文件夹下; 5、确保HTC Sync已经安装; 1、完全关机,按音量-键的同时按开机键,进入HBOOT; 2、手机用数据线连接电脑; 3、如果出现fastboot USB说明手机和电脑连接成功; 4、回到电脑上,打开命令提示符方式,输入:“cd c:\fastboot”,进入fastboot目录; 5、输入:"fastboot devices" 然后回车。验证手机和电脑是否连接正常了,如果出现HT 0C8RX0**** fastboot 证明连接成功; 6、输入:"fastboot flash radio radio.img" 然后回车。 7、如果出现OKAY,代表发送成功。如果出现“FAILED <status read failed***>”代表失败,请重做第6步; 8、完成后,屏幕会出现"Writing 'radio'..." 直至出现OKAY,代表刷入成功; 9、输入:"fastboot reboot-bootloader" 然后回车; 10、稍等一下,在HBOOT界面下看第四行,radio是不是变成新的了; 如果你的手机是SHIP S-OFF的,那我们将不能够使用fastboot命令,可以通过下面介绍的方法,来刷新radio。(此方法也适用于ENG S-OFF)
1、你的手机已经取得了永久root权限; 2、你的手机已经通过SHIP S-OFF(或 ENG S-OFF)方式解锁; 3、到笔者的网盘下载相关软件,链接地址: http://u./file/f53e44552a# ARUWizard.rar 4、确保HTC Sync已经安装; 5、准备好你要刷入的radio文件,更名为radio.img方便后面操作; 6、查看C盘下刚才解压的ARUWizard目录,下面有个rom.zip文件; 7、用winrar双击打开查看,里面有两个img文件,一个是radio.img,版本是: 12.35a.60.140f_26.04.03.30_M,另一个recovery.img,版本是: ClockworkMod Recovery 2.5.1.3; 8、你可以把你准备好的radio.img放进这个rom.zip,替换掉里面自带的,把那个recovery.img删除(如果你没有刷过第三方recovery的,这里就保留,可以一并刷进去) 9、手机用数据线连接电脑,选择:“HTC Sync”同步方式连接; 10、运行目录下的ARUWizard.exe;根据提示操作即可; 安卓系统降级 很多朋友在ENG S-OFF或者SHIP S-ON模式下不小心刷了1.72以上软件版本的官方升级包,发现ENG S-OFF又变回了SHIP S-ON,而且无法通过VISIONary+软件得到系统的root权限了,这时候,我们可以通过降级,把系统降低到更低的版本,来解决这个问题。
1、电脑上要安装HTC Sync同步工具; 2、准备好第六章介绍到的ADB工具; 3、到笔者的网盘下载需要用的工具包,链接地址: http://u./file/f51cd234bf# Downgrade.zip 1、把上面下载的Downgrade.zip文件解压到C盘根目录的ADB工具文件夹下,如果你没有改过名的话,它应该叫做:android-sdk-windows; 2、进入手机的设置--应用程序--开发--usb调试,打勾。 3、手机用数据线连接电脑,选择“仅充电”模式。 4、电脑上打开命令提示符,转到C盘android-sdk-windows目录下,运行以下命令(注意空格): “adb push psneuter /data/local/tmp”回车; “adb push misc_version /data/local/tmp ” 回车; “adb shell chmod 777 /data/local/tmp/psneuter” 回车; “adb shell chmod 777 /data/local/tmp/misc_version” 回车; “adb shell /data/local/tmp/psneuter”回车; “adb shell”回车;
|
|