ROM刷机原理和ROM制作技术初探.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ROM刷机原理和ROM制作技术初探

ROM刷机原理和ROM制作技术初探 这一段时间刷了一堆ROM,安卓系列、CM、Hero、OldMos、隔壁新出的Android2.0,反正都尝了一下鲜。我的手机的照相机也刷得再也启不来了(不知道什么原因,杯具)。 有话说:“久病成良医”,想我们折腾了这么久的刷机,也得总结总结不是,小弟不才,远没成“良医”,但还是想把自己的一些认识与心得写出来,以期抛砖引玉... 一、刷机原理 记得第一次刷机,哪个心理紧张啊。其实紧张什么呢?就是因为不明白原理啊,只看到一堆的教程来依葫芦画瓢,生怕错了一步将手机变砖。 真正使我对刷机原理有一些理解的是看了这一篇文章:/adp.html 说起来,刷机就是两种方法: 一是recovery方法,就是我们平时将update.zip入到SD卡,然后alt-s的方法,这种方法是调用了recovery的方法将各种img或文件进行复制等操作。想了解recovery的工作原理吗?我也没找到好的资料,就在这看了看recovery的一些源码:/rowboat/bootable-recovery/commit/64893ccc09b25ac31bc6a17f5c7f43c7fa789576 二是fastboot方法,这个方法其实是比较酷的方法,说白点,fastboot就是将已有的各分区映象文件(img文件,意义上类似我们对光盘做的映象文件)直接覆盖写到指定分区中,有点暴力,也有点类似我们平时操作系统的Ghost还原。 这两种方法哪种更好,这就不好比高低了,总的来说: Recovery方法更简单,只需要傻瓜式的将update.zip放到SD卡的要目录下,然后进入Recovery模式alt-s就可以了,但与任何傻瓜式东西一样,他的灵活度就很小了,而且出错了也都不知道如何解决。一般来说做Rom的高手为了保证Rom的可靠性,在安装程序中都会对一些安装环境进行一些确定,而各位的手机环境又是千变万化的,Rom高手也很难考虑周全,另外,Recovery程序本身也有一些环境验证。前一段时间很多人刷阿兴的3.0失败应该都可以归结于这些原因。 fastboot方法更灵活,功能也更强大,fastboot方法不需要依赖于recovery,甚至linux底层刷坏了recovery模式都进不了的情况下也可以通过fastboot方工刷回来。fastboot模式其实是调用spl进行刷机的,所以如果刷spl坏了,fastboot模式应该也进不了,也就是砖了。fastboot方法需要各位电脑上有fastboot程序,同时手机要进入fastboot模式才可以操作,关于这些知识,请参见google。 二、回头再来说说Android系统中的各分区(分区这个说法是不是不太准确?) 我了解到的Android系统中的分区有: hboot(我们刷的SPL就是这玩意),这个分区是最基本的引导分区(类似电脑中的BIOS?),这个区坏了,差不多就变砖了,所以我们刷SPL时才要如此小心啊。 boot,这个分区是linux操作系统的引导分区吧? radio,这个分区是手机的一些底层设备相关的驱动或功能程序吧,如打电话与发短信等,不同的系统版本会有不同的radio配套,我们平时刷了高版本的ROM后,如果不刷高版本的Radio就有可能导致打电话不正常之类的。(在/adp.html这个文章中,就有不同android版本和之配套的不同版本Radio) recovery,这个分区装的就是前面提到的recovery程序了,这个刷不同的recovery版本可以带来不同的功能,有兴趣的同学可以基于recovery的源码自己编译出一个自己的recovery出来?但一般来说,刷recovery最主要的就是提Root权限吧。 system,是一般发布的ROM的主要功能程序分区了,我们说的ROM功能与自带程序的定制应该就是基于这个分区的修改与编译了。 userdata,用户数据,不说了。 cache,缓存,不说了,一般是用来OTA升级时的缓存,我们说刷SPL可以增加程序区的空间大小就是主要将这个区的大小缩水了然后加大了程序区的分区大小。 三、一个典型ROM的剖析 我们平时升级的Rom都是打包成适合Recovery方式刷机的包。能够被Recovery程序识别并处理的包应该有一个固定的格式,我理解的一些重要的约束如下: 1)必须是标准的zip压缩包; 2)recovery脚本必须存入在META-INF\com\google\android\update-script; 3)其它的一些证书与签名信息应该都放在\META-INF\下; 我们先来看看阿兴的3.0的recovery脚本: show_progress 0.500000 0 //显示进度度 format SYSTEM://格式化system分区 co

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档