标签归档:刷机

HTC VISION 刷机大集合

今年4月手机由G1换成了T-Mobile G2(DESIRE Z/VISION)以后就不怎么刷机了,一是对Vision相当满意,二是这段时间正好是辞职找工作和在新工作单位熟悉工作自己的时间比较少,没有花太多的精力来研究新手机的刷机方法以及了解新资源。从今天开始我要逐步总结有关HTC VISION的刷机方法和各类资源,以便随时可以查阅,其他型号的手机也可以参考。主要的信息采集论坛是机锋网和安卓网,在此我先集体感谢那些为了刷机做过贡献的同仁们。如果有版权问题请及时使用评论告知我。

各类资源、方法、技巧会陆续推出,敬请期待。

1、固件、刷固件

固件是指固化的软件,英文为firmware,它是把某个系统程序写入到特定的硬件系统中的flashROM。

手机固件相当于手机的系统,刷新固件就相当于刷系统。不同的手机对应不同的固件,在刷固件前应该充分了解当前固件和所刷固件的优点缺点和兼容性, 并做好充分的准备。

2、ROM(包)

智能手机配置中的ROM指的是EEProm(电擦除可写只读存储器)类似于计算机的硬盘,手机里能存多少东西就看他的容量了。底包+更新包统称为一个ROM包。

3、固件版本

固件版本是指官方发布的固件的版本号!里面包含了应用部分的更新和基带部分的更新,官方新固件的推出的主要目的是为了修复已往固件中存在的BUG以及优化相关性能。

4、CID、SUPERCID

CID是CustomerIDentity的简称,简单来说就是手机的平台版本,破解限制之后的CID称为SUPERCID。

刷机过程中SPL需要根据CID效验ROM是否可用,并决定是否刷入,一般情况下要求一定要对应CID的ROM才可以用,cid不同的rom是刷不 上去的。对于普通的CID来说,一般有两个限制:1)不能刷入低版本的的ROM,2)不能刷入不同平台的ROM,比如:在台版机上刷欧版ROM、跨型号刷 ROM等。SUPERCID有些型号手机的CID的限制是可以通过软件来破解的,已知的有577W、586W等,但也有也些型号目前还没有有效的方法破解 CID,如838G4。

破解限制之后的cid称为SUPERCID,拥有SUPERCID的机器可以刷任意版本和平台的ROM。具体来说,同一个手机既可以刷台湾的 ROM,也可以刷日本的rom,也可以刷香港的rom等。甚至也可以刷进一个其他型号手机的ROM(如586W刷577W)。但是这也带来很大的危险性, 因为没有了限制,没有了校验,刷入一个错误的ROM也是很容易的事。我们一般刷机时需要破解为SUPERCID,因为一方面现在大部分情况下刷机所用的 ROM都是通不过CID校验的;另一方面万一刷机失败,对于SuperCID的手机更容易修复。

5、HTC Sense

HTC为Android系统设计的用户界面。从HTC Hero开始,HTC推出的所有产品都將整合HTC Sense。并符合三個设计理念,包括Make It Mine、Stay Close、与Discover the Unexpected。

6、Recovery

笼统的说,就是一个刷机的工程界面。如果你装过系统,你可能知道dos界面或者winPE,安装了Recovery相当于给系统安了一个dos界 面。在recovery界面可以选择安装系统,清空数据,ghost备份系统,恢复系统等等。刷recovery与刷rom不冲突。

7、APP TO SD、APP2SD

一些Android机器在安装程序的时候默认是安装在机器内存上的,这就会导致原本不大的内存被占用,运行速度降低,而存储卡却利用率很低的情况。APP TO SD就是把程序安装到SD卡从而腾出手机内存提高运行速度的意思。APP2SD亦然,只是谐音而已。

8、Root

Root权限跟我们在Windows系统下的Administrator权限可以理解成一个概念 。Root是Android系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权利,所有对象他都可以操作。只有拥有了这个权限我们才可以将原版 系统刷新为改版的各种系统,比如简体中文系统。

9、RADIO

Radio简单的说是无线通信模块的驱动程序。ROM是系统程序,Radio负责网络通信,ROM和Radio可以分开刷,互不影响。如果你的手机刷新了ROM后有通讯方面的问题可以刷新RADIO试一试。

10、ROM分类

一般分为两大类,一种是出自手机制造商官方的原版ROM,特点是稳定,功能上随厂商定制而各有不同;另一种是开发爱好者利用官方发布的源代码自主编译的原生ROM,特点是根据用户具体需求进行调整,使ROM更符合不同地区用户的使用习惯。

11、IPL、SPL

IPL英文全称是InitialProgramLoader,负责主板,电源、硬件初始化程序、并把SPL装入RAM。IPL损坏了可把手机扔进河里,或者通过换字库来解决。

SPL英文全称是SecondProgramLoader,“第二次装系统”,就是负责装载OS操作系统到RAM中。另外SPL还包括许多系统命令,如mtty中使用的命令等。SPL损坏了还可以用烧录器重写。

SPL一般提供这几部分功能:检测手机硬件、寻找系统启动分区、启动操作系统为系统的基本维护提供操作界面,可以通过数据线与操作终端(如PC)建 立连接,并接受和执行相应命令。它里面包含许多命令,像r2sd,l,doctest(危险命令,他会擦除gsmdata)等。我们常说的三色屏就是由 SPL驱动的。检测SD卡,当你把一些特殊制作的SD卡插入后,SPL可以在启动时校验并根据SD卡内容刷机或执行一些命令。这有点类似于PC的从软驱启 动。

IPL和SPL版本可以在三色屏中查看。按住照相键不放,然后短按电源开机键即可进入三色屏查看相关信息。

12、Sign

Sign是指给Rom包或者Apk应用程序签名,只有签名过的Rom或者Apk才可以刷入或安装到手机上。

13、Cyanogen、CM

Cyanogen是国外一位牛人,其制作的CyanogenMod系列Rom比较流行,主要追求的就是速度,CyanogenMod的缩写就是CM,因而我们也常见CM ROM。

14、adb

adb是Android Debug Bridge的缩写,意为Android系统的调试桥。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,其实这就是用于谷歌Android系统的debug调试工具。

adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行APK安装器时adb进程就会自动运行。

除了上述的操作功能之外,我们还可以通过adb管理设备或手机模拟器的状态。还可以进行很多手机操作,比如刷ROM系统升级、运行shell命令等等。

在手机拨号界面输入*#*#4636#*#*即可快速进入Android的工程测试模式,在菜单中有手机信息、电池信息、电池历史记录、使用情况统计数据四个选项(各不同版本的ROM可能在表述上存在差异),对每个选项里面请确认后再更改。

关于恢复模式很早以前就有篇文章介绍过了,请看这里《【刷机模式介绍】Android Recovery模式!!》;VISION的进入恢复模式的方法是“电源+音量-”两个组合键进入HBOOT模式,然后用“音量-”移动光标提示到“Recovery”再按“电源”键确认,进入(进入官方recovery方法按照前面的操作,然后看到红色三角形感叹号后按“音量+”和“开机键”),G1的方法是“电源+menu+home”三个组合键,进入Recovery后请按照提示操作。

刷recovery的方法:
把下载下来的ZIP文件改名为PC10IMG.ZIP放入SD卡根目录
手机重启进入Bootlaoder会提示更新按音量向上键选择YES即可

Radio是掌管着通讯功能包括手机上网,如果信号不好或者在没有信号情况下手机频繁重启可以尝试刷一下Radio。刷RADIO有一定风险的,如果信号没有问题请不要随意更新RADIO,刷Radio时请保持持续电源供应切勿断电,否则有变砖的风险。

之前已经发过一篇《Android RIL结构分析与移植》,作为知识性了解。

【转】Android RIL结构分析与移植

介绍本文档对Android RIL部分的内容进行了介绍,其重点放在了Android RIL的原生代码部分。包括四个主题:

1.Android RIL框架介绍

2.Android RIL与 WindowsMobile RIL

3.Android RIL porting

4.Android RIL的java框架

 

在本文档中将Android代码中的重要模块列出进行分析,并给出了相关的程序执行流程介绍,以加深对模块间交互方式的理解。

继续阅读【转】Android RIL结构分析与移植

Android 2.2 RC4 真正实现 app2ext

来源:机锋网 作者:343443594

Dream G1 Android 2.2 CM6 RC4
一、基础

1、什么是APP2SD: APP2SD顾名思义就是Application to sd-card的意思,即将应用程序安装在SD卡里,减少手机内存的空间占用。

2、什么是APP2FAT: FAT是一种由微软始创的文件格式,目前各种操作系统均可以支持该文件格式。APP2FAT就是将应用程序安装在手机存贮卡的FAT分区中,是APP2SD的一种实现方法。在Google官方Android 2.2版本中默认提供此方式。

3、什么是APP2EXT: EXT是Linux操作系统中主要文件格式,由于Android本身就是一种Linux操作系统,故此对该文件格式支持较好。EXT文件格式有多种版本, 如EXT2、EXT3及EXT4。APP2EXT即将应用程序安装在手机存贮卡的EXT分区中,也为APP2SD的一种实现方法。

二、APP2EXT实现步骤
1、为简化操作,建议大家在新刷固件后进行下述操作,如果目前已经使用了APP2FAT,那么需要在最后将已经安装在FAT分区中的程序导入到EXT分区中。

2、进行操作前一定注意进行备份

3、操作前,应对SD卡进行分区(至少分成FAT和EXT两个分区)。分区可在Recovery中操作完成,也可在Windows系统中使用Acronis Disk Director Suite等分区软件完成,详细步骤建议论坛搜索分区教程。(EXT分区建议使用EXT2或EXT3)

4、下载这个文件: fr-patch134.rar (5.63 KB)

下载次数: 252

2010-8-25 00:42

下载消耗 G币 1

解压后

并拷贝到SD卡根目录,即/sdcard 。

5、以上操作完成后,打开手机中的“超级终端”,并进行以下操作:

  • $ su                                          使用root权限

复制代码

  • # sh /sdcard/fr-patch134.txt sdext

复制代码

操作完成后,输入:

  • # busybox df -h

复制代码

然后在显示出的一大堆里文字里检查是否有sd-ext分区,如果一切顺利那就可以继续进行下一步了。

6、拷贝内存中的app等目录到ext分区:

  • # cp -a /data/app /sd-ext/           拷贝app目录到ext分区

复制代码

  • # cp -a /data/app-private /sd-ext/       拷贝收费app-private目录到ext分区

复制代码

  • # cp -a /data/dalvik-cache /sd-ext/       缓存dalvik-cache到ext分区

复制代码

注意:如果SD卡速较慢,建议不进行  cp -a /data/dalvik-cache /sd-ext/ 操作。

7、删除内存中的app等目录,对目录设置链接:

  • # rm -rf /data/app                           删除手机内存中的app目录及目录中文件


复制代码

  • # ln -s /sd-ext/app /data/app                设置链接


复制代码

  • # rm -rf /data/app-private                   删除手机内存中app-private目录及文件


复制代码

  • # ln -s /sd-ext/app-private /data/app-private


复制代码

  • # rm -rf /data/dalvik-cache


复制代码

  • # ln -s /sd-ext/dalvik-cache /data/dalvik-cache


复制代码

注意:如果第6部时未进行# cp -a /data/dalvik-cache /sd-ext/ 操作,请不要进行 rm -rf /data/dalvik-cache及 ln -s /sd-ext/dalvik-cache /data/dalvik-cache

8、做完以上全部操作请输入:

  • # reboot

复制代码

重启后即可,检查一下你的内存剩余空间吧。

9、如果以前已经进行过APP2FAT的(即将程序安装在FAT分区内的),请先在设置——N多设置——安装中将允许移动程序选项选中,随后进入设置——应用程序——管理应用程序——SD卡中,选中程序将程序移至内存即可。

三、截图展示

yhjkh.jpg

下载 (31.23 KB)

2010-8-25 00:47

程序安装在sd上设置:设置—-Cyanogenmod设置—-程序设置—-安装位置—–储存卡

sd卡必须是分区过的装个swap那速度爽死你!

swap
使用方法:
swapper1.3.apk (19.77 KB)

下载次数: 324

2010-8-24 18:33

下载消耗 G币 1

有两种设置高速缓存分区的方式:

第一种是创建一个Swap文件到SD卡的Fat32分区,大小可以自定义设置。

第一种貌似很多童鞋都不会设置,简单讲下具体设置情况。有电脑的话我上下图。
进入软件主菜单,点击设置,把swap位置和swap大小设置好。高级选项→使用swap分区的勾去掉(很多童鞋反应都是fail很大一部分都是这个勾没去掉,,特别注意一下)→返回进入主菜单→创建swapswap on →获取信息查看是否已经开启成功。

另一种是你的SD卡已经有Swap分区,但是未开启,那么可以使用它来开启
1.首先你必须已经有Swap分区,新手可以使用内置分区功能的Recovery分区
2.运行Swapper,点击【设置】找到【高级选项】,
3.勾选『使用SWAP分区』,点击下面的『SWAP分区』查看是否与你的SD卡分区相对应,在第三分区。。确定后,返回主界面。
4.点击【Swap ON】,最后点击【获取信息】看看是否开启成功。成功后第四行 Swap: 93864KB

本人实测,后台开照相、音乐、网页、QQ等10来个程序,按小房子瞬间返回桌面!不再出现黑屏20秒或者桌面程序长期无响应!运行速度依然流程!

每次开机或设置过swap都会关闭,重新点下swap on就可以

下载 (111.85 KB)

2010-8-24 18:41

yhjkh.jpg (31.23 KB)

下载次数:2

2010-8-25 00:47

yhjkh.jpg

合并apk和odex的方法

有时候发现别人手机里有一款 apk 挺好,想弄出来装自己手机上,可是却发现那个 apk 是残缺的,里面没有 classes.dex 文件,却有个跟 apk 同名的 odex 文件。残缺的 apk 是装不了的,只能把这个 apk odex 合并成一个完整的 apk 才能安装。

需要的工具:

1 smali-1.2.2.jar baksmali-1.2.2.jar

2 还需要这个 apk 所在的 rom 里面的一些 jar 文件,都在 /system/framework 里面: core.jar, ext. jar, framework. jar, android.policy. jar, services. Jar 。当然,这五个是最基本的,有可能还不够,这种情况下面会讲到。

总共分四步:

1 把下载好的 smali-1.2.2.jar baksmali-1.2.2.jar ,还有 rom 里面抠出来的 5 jar ,放到工作目录,然后 apk odex 也放到一起。

2 分解 odex 文件为 class 文件。

命令: java -jar baksmali-1.2.2.jar -x <a.odex>

<a.odex> 处是你要分解的 odex 文件的名字,命令完成之后,会生成一个 out 文件夹,里面就是所有的 class 文件。如果出现问题,比如什么异常,缺少包什么的,就更到 rom 里面把出错信息里面要求的包拿出来,放到当前目录下。

3. class 生成为 classes.dex 文件。

命令: java -Xmx512M -jar smali-1.2.2.jar out -o classes.dex

这一步应该不会有什么问题,然后会生成 classes.dex 文件。

4. classes.dex 放入 apk 里面,把盖子盖上。

最后这一步最简单了,用解压缩软件打开 apk ,然后把千辛万苦生成的 classes.dex 塞进去,就 ok 了。这个 apk 就能用了。如果想给他重新签个名的话,去找个 Auto Sign 签名工具签署一下就行。

TF 卡 swap 分区的一些基本观点及其利弊

  • 作者:SenSen
  • 推荐者:BenAngel
  • 上传日期:1/16/2010 3:39:05 AM
  • 来源:机 锋网

最近 hero for G1 的 rom 为了解决频繁出现的 load… 现象引入了 swap 机制,主要采用了两种方式: 1,用程序 swaper 在 TF卡上建立一个 swap 文件,然后将该文件挂载为系统的一个 swap 分区 2,直接在 TF 上加载第三分区:Linux-Swap 分区 这两种方式本质上是一致的,对系统而言,都是挂载了一个 swap 分区。本文基于几个概念的解释来解决以下问题: 1、swap 分区是什么? 2、会提升系统速度吗? 3、有什么缺点? 4、能否避免上述缺点?

概念一:【swap分区】 Linux 的 Swap分区的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可 能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这 样,系统总是在物理内存不够时,才进行Swap交换。关键词——就是虚拟内存。目前 G1 的系统内存明显不够使用,所以建立了 Swap 分区后,可以有效的缓解这个问题。具体在 hero 上表现为 load.. 现象少了。其实在 G1 的 1.5 系统中,也一样有 Load.. 现象。例如浏览器里面同时打开6个页面后,回到桌面;桌面上的图标需要过一会儿才会出现,这就是 Load… 现象,只是没有显示那几个字而已。 *

概念二:【TF 卡】 Micro SD卡也就是熟称的“TF”卡。 T-Flash全名(TransFLash),这是Motorola与SanDisk共同推出的最新一代的记忆卡规格,它采用了最新的封装技术,并配合 SanDisk最新NAND MLC技术及控制器技术。大小(11mm x 15mm x1mm),约等于半张SIM卡,Trans-Flash Card为SD Card产品成员的一员,附有SD转接器,可兼容任何SD读卡器,TF卡可经SD卡转换器后,当SD卡使用。T-Flash卡是市面上最小的闪存卡,适用 于多项多媒体应用.Trans-flash产品采用SD架构设计而成,SD协会于2004年年底正式将其更名为 Micro SD,已成为SD产品中的一员。 关键词——MLC技术

概念三:【MLC】储存单元分为两类:SLC(Single Layer Cell 单层单元)和MLC(Multi-Level Cell多层单元)。SLC的特点是成本高、容量小、速度快 SLC闪存的优点是复写次数高达100000次,比MLC闪存高10倍。此外,为了保证MLC的寿命,控制芯片都校验和智能磨损平衡技术算法,使得每个存 储单元的写入次数可以平均分摊,达到100万小时故障间隔时间(MTBF)。关键词——1w次的写入寿命目前的 TF 卡无写入次数平均分摊管理,导致写入次数为理论上的 1w次。那么建立 swap 分区意味着系统会对这一组单元集中作频繁写入操作,是否会导致 TF 卡的迅速损坏呢?

概念四:【swappiness】可以通过修改/dev/sys/vm/swappiness的值来告诉系统你想交换的多勤快在 Linux 里面,swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。两个极端,对于 ubuntu的默认设置,这个值等于60,建议修改为10或20。关键词——swappiness=10 所以我们可修改 swappiness 来控制系统对 swap 分区的写入频率。如何修改 swappiness 请参考校长贴:图文教程:以修改swappiness参数为例,介绍SUFBS超级大杀器!

SenSen 观点:针对目前 G1 内存严重不足的情况,使用 swap 分区来缓解这一情况是以牺牲 TF 卡寿命为代价的。有的同学说:TF 卡便宜,坏了再卖 or TF 卡有保修,坏了去换。也有同学觉得 TF 卡转移数据还是比较麻烦的,至少涉及到 FAT32 分区和 ext 分区两部分的数据,其中 ext 分区的数据还有权限问题。以上观点仁者见仁智者见智。 BenAngel观点:Swap并不能提高太多的运行速度,它的作用是提高占用大内存软件运行时的内存交换空间,让同一软件内运行得更流畅,同时也提高软 件的后台存活率- -,举例说明,以G1来说,你用浏览器上了个WebQQ,然后出去听听歌,照照像,你的浏览器基本上就自动关闭了,因为内存不足,换句话说WebQQ也掉 线了,用Swap就能有效的改善这个问题。