马蓉整形:安卓ROM刷机原理及ROM的制作技术

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 17:34:54

一、刷机原理

  说起来,刷机就是两种方法:

  一是recovery方法,就是我们平时将update.zip入到SD卡,然后alt-s的方法,这种方法是调用了recovery的方法将各种img或文件进行复制等操作。

  二是fastboot方法,这个方法其实是比较酷的方法,说白点,fastboot就是将已有的各分区映象文件(img文件,意义上类似我们对光盘做的映象文件)直接覆盖写到指定分区中,有点暴力,也有点类似我们平时操作系统的Ghost还原。

  这两种方法哪种更好,这就不好比高低了,总的来说:

  Recovery方法更简单,只需要傻瓜式的将update.zip放到SD卡的要目录下,然后进入Recovery模式alt-s就可以了,但和任何傻瓜式东西一样,他的灵活度就很小了,而且出错了也都不知道如何解决。一般来说做Rom的高手为了保证Rom的可靠性,在安装程序中都会对一些安装环境进行一些确定,而各位的手机环境又是千变万化的,Rom高手也很难考虑周全,另外,Recovery程序本身也有一些环境验证。

  fastboot方法更灵活,功能也更强大,fastboot方法不需要依赖于recovery,甚至linux底层刷坏了recovery模式都进不了的情况下也可以通过fastboot方工刷回来。fastboot模式其实是调用spl进行刷机的,所以如果刷spl坏了,fastboot模式应该也进不了,也就是砖了。fastboot方法需要各位电脑上有fastboot程序,同时手机要进入fastboot模式才可以操作。

  二、回头再来说说Android系统中的各分区

  我了解到的Android系统中的分区有:

  hboot(我们刷的SPL就是这玩意),这个分区是最基本的引导分区(类似电脑中的BIOS),这个区坏了,差不多就变砖了,所以我们刷SPL时才要如此小心啊。

  boot,这个分区应该是linux操作系统的引导分区。

  radio,这个分区是手机的一些底层设备相关的驱动或功能程序吧,如打电话和发短信等,不同的系统版本会有不同的radio配套,我们平时刷了高版本的ROM后,如果不刷高版本的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\下。

  四、我们有没有可能自己定制ROM呢

  理论上我们是可以自己定制的。

  最简单的定制应该就是拿一个现有的认为还不错的基础ROM,替换一些资源,加一些系统自带程序,然后打包发布;

  再玩高级一点,就应该自己去修改一些系统自带的程序,如汉化一些系统原始程序;

  还玩高级一点,就应该自己到android官方站点去下载android系统的源码来编译,并基于系统级的定制和移植了,如现在火热的android2.0源码编译系统移植。

  如果是简单一点的自制ROM,主要应该会要解决如下几个问题:

  1)选定一个比较好和稳定的内核和基础,就是update.zip包中的哪个boot.img,另外,system目录中大部分也是直接可用的,就可以作为自定义Rom的基础。

  2)修改系统。例如可以这样来定制的东西:system\etc\apns-conf.xml,这是设置APN接入点的;system\etc\hosts,这是设置Host文件的,现在有很多人用的包绑定不了GMail,就可以在这个Host文件中增加一条:74.125.93.113 android.clients.go

安卓ROM刷机原理及ROM的制作技术 安卓基础:rom文件夹 钻石的rom及radio的搭配 常用安卓ROM自带软件详解 C8500错刷其他型号ROM导致无法强刷官方ROM的解决办法 教你如何卸载ROM自带的软件,清理系统,不用重刷ROM! Android安卓系统下,软件安装到内存卡教程!!! - U8500 ROM 相关下载 - U8500 - 安卓网 Android(安致)分享论坛,Android 软件,ROM,最大的 Android 自己动手精简ROM! 简单说一说怎样删除不用的图标及应用程序,精简你的ROM - Spr... RAM和ROM的区别 ROM和RAM的异同 【ROM定制教程】 第五节 DIY及OEM包制作 - PPC综合区 - HTC手机论坛 -... 菜鸟注意:谷歌-安卓系统使用必读,什么是root, Recovery, Radio, APP TO SD, Rom HOT HD9+超级详细WM,安卓ROM互刷,备份,详细教程 android系统全部可用的蓝牙键盘输入软件(驱动)下载 - Android 软件下载 - Android安卓智能手机中文论坛 机锋网|机锋市场|安致|安卓|ROM|刷机|安卓市场|安智市场|应用汇 - Powered by Discuz! 【ROM定制教程】 第二节 ROM制作工具介绍 - PPC综合区 - HTC手机论坛 - ... ROM和RAM各自的作用是什么? 英文ROM中短信乱码的问题 ROM、RAM、DRAM、SRAM、FLASH的区别 DVD-ROM读盘故障的检修 [Android ROM] 破解Recovery官方原版2.2.1ROM的完整SBF文件,附Root补丁 什么是ROM、RAM、DRAM、SRAM和FLASH及区别 逛万篇贴.不如精典一贴.答疑\带图详细刷机教程\超频ROM.C8650 ROM基础知识名词解释 自己动手精简ROM