- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AndroidROM的制作與结构构成
Android ROM的制作与烧录 (2010-08-25 19:34)
Android编译生成的三个镜像文件Android源码编译后,在out/target/product/generic下生成的三个镜像文件:ramdisk.img,system.img,userdata.img以及它们对应的目录树root,system,data。ramdisk.img是根文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,android加载这3个映像文件后,会把 system和 userdata分别加载到 ramdisk文件系统中的system和 data目录下。三个镜像文件及其三个目录树之间的生成关系是我们进行ROM制作的基础,下面将做详细介绍。Ramdisk.imgRamdisk镜像是采用cpio打包,gzip压缩的。用file验证:# file ramdisk.img输出:# ramdisk.img: gzip compressed data, from Unix为了便于说明问题,我们将ramdisk.img拷贝到其它一个目录,然后按以下步骤将ramdisk.img还原为目录树:# mv ramdisk.img ramdisk.img.gz # gunzip ramdisk.img.gz# mkdir ramdisk#cd ramdisk# cpio –i –F ../ramdisk.img这样,就得到一个完整的ramdisk目录,与out/target/product/generic/root对比后,我们发现它们是一样的内容。通过执行以下的操作,我们可由目录树再生成ramdisk镜像# cd ramdisk# find . | cpio -o -H newc | gzip ../ramdisk-new.imgsystem.img userdata.img这两个镜像都属于yaffs2文件格式,生成方式是一样的。我们就以system.img为例来说明。System.img system目录树所需工具unyaffs, 下载地址 /p/unyaffs/downloads/list# mkdir system# cd system# unyaffs ../system.imgsystem目录树 system.img所需工具 mkyaffs2image,Android源码编译后会生成该工具,在 out/host/linux-x86/bin 目录下。命令格式:# mkyaffs2image system/ system_new.img了解以上方法的意义在于,我们可以对镜像文件镜像修改,定制,以符合自己的需求。Android ROM的制作方法网上有很多制作Android ROM的教程,这里罗列一些链接:北理工的陈罡写的两篇文章,是我目前发现的最好的教程,写的非常详细/u/26691/showart_2193396.html/u/26691/showart_2194274.html这两篇文章参考了国外论坛的几个经典教程:/showthread.php?t=566235/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images国内还有一篇文章写的也不错,这篇文章更侧重于制作类似Patch的ROM包/html/201002/1267213800ID1030.html这里基于自己的理解和测试,总结了一些方法步骤。1.从可用的ROM起步Android 的ROM包通常称为update.zip包,你可以到上下载现成的.zip包。要学习ROM包的制作,我们可以从这样一个zip包开始。解开zip包后,通常有这样一些内容:boot.img?? ?文件?? ?这是编译内核源代码生成的内核映像,然后与android源码编译出来的ramdisk.img一起通过mkbootimg工具创建出来的,图省事的朋友也可以从网上其他的刷机包里面拷贝一个能用的出来即可,基本上都差不多。META-INF?? ?目录?? ?这个目录是手工创建的,主要用来存放一个升级脚本update-script(这个脚本的内容与system目录中包含的文件有很大关联)以及签名。system?? ?目录?? ?这个目录就是编译android的平台源代码生成的要创建自己的ROM,我们通常会涉及到以下的一些工作:1.?? ?编译内核生成内核映像。但一般情况下,我们没有必要自己去编,直接从刷机包里面取出一个就可以。譬如,你要做一个2.2版本的升级包。可以到网上找一个与自己机型
您可能关注的文档
- AHP層次分析法.doc
- ahs_AQT9002—2006生產经营单位安全生产事故应急预案编制导则.doc
- AHU+HEPA在低層高中的案例应用.doc
- AI02附表2申請的检测能力范围(全项).doc
- aidihyg證_券市场基础第一章练习.doc
- AICS5.1的安裝步骤.docx
- aidlunh證_券市场基础真题.doc
- aifmbew證_券市场基础知识模拟试题N(附答案).doc
- AIESEC柬埔寨志愿者實习报告.docx
- AIG危機的原因与启示.doc
- 温岭市小学毕业考数学试卷附参考答案(能力提升).docx
- 小学数学一年级上册期末测试卷带答案(基础题).docx
- 小学数学一年级上册期末测试卷精品【预热题】.docx
- 温岭市小学毕业考数学试卷附参考答案(满分必刷).docx
- 温岭市小学毕业考数学试卷附参考答案(综合题).docx
- 小学数学二年级上册期中测试卷(夺分金卷).docx
- 吉林省长春市榆树市第二实验中学2025届毕业升学考试模拟卷生物卷含解析.doc
- 上海市黄浦区名校2025届初中历史毕业考试模拟冲刺卷含解析.doc
- 2025届江苏省泰州市泰兴市重点中学中考生物模拟试卷含解析.doc
- 2025届海南省保亭县达标名校中考试题猜想历史试卷含解析.doc
文档评论(0)