- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教你制作定制版安卓系统(Android
ROM)
有点玩机兴趣的android爱好者,应该对custom ROM这种东西都不陌生,它大 致就相当于我们封装定制版pc系统中用到的Ghost (*. gho)文件。在介绍root权 限获取的时候,就直接用的MoDaCo Custom ROM作为例子。适用于Hero比较好的 ROM还有不少,比如Drizzy s Custom HeroROM等等,都可以在XDA上找到。肯定 有不少朋友感到很好奇,这些ROM都是怎么做的。
考虑到中文社区相关资料比较少,在这里抛砖引玉,大概原理介绍一下。
对于第三方ROM来讲,通常都包括两部分,一个recoveryimage,—个
update, zipo而大多数的笫三方ROM的特色,就是加入了很多东西,比如superuser 程序来获得root权限,busybox来扩充命令行下的功能,各种各样的配置文件或者 小工具,比如默认打开中文locale,等等。这些看似神奇的改动,都是在update, zip 里面搞的,custom recoveryimage的主要作用就是引导用户的操作,比如让你先备 份,再应用update, zip,再重启之类的操作。由于custom recoveryimage和 update, zip的耦合性很小,所以不少custom ROM直接都用同一个custom recoveryimage,这个好像是出自MoDaCo作者之手。再然后,我之前的文章已经有对 recoveryimage的简单讲解,所以这里,我主要介绍一下update, zip的制作。
如果我们直接把MoDaCoROM中的update, zip解包,我们会发现有一个 boot, img,—个data文件夹,一个system文件夹,一个METATNF文件夹。这个 data文件夹放的是init. rc,而本来在系统中,init. rc就是在data LI录下的。半 然,两者的作用不一样,这里的init. rc主要作用是开机执行你希望执行的命令,比 如 MoDaCo 的 init. rc 就是 install busyboxo
而值得详细说明的,就是system文件夹。MoDaCoROM版本的system下有一系 列作者希望放到系统中的工具,对于apk文件,就放到app下,工具就放到bin和 xbin下,依此类推。换句话说,system或者data这个H录层次结构是取决于你自己 的,你希望放的东西属于什么,应该运行在online系统的什么LI录下,update, zip 里面就应该是有相应的目录路径,然后东西就放在
里面。
具体点,我们现在要依样画葫芦,搞一个新的update, zip,那么第一步就是首 先建立一个文件
夹
mkdir new-update
好,假设我新update, zip的作用就是预装我自己的一个程序,my. apk,那么,我 建立对应的子
目录
mkdir -p new-update/system/app
cp my. apk ! S
这样,system目录就完成了。但是这时,update, zip的目录层次还没完,我们 看MoDaCoROM中的update, zip中有文件夹叫META-INF,这个文件夹很关键,除了根 L1录下的三个文件外,里面层层LI录,就包括了一个文件,叫update-script,内容如 下
show_progress 0. 1 0
copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:xbinset_perm_recursive 0 0 0755 0644 SYSTEM:sd
set_perm 0 0 04755 SYSTEM:bin/su set_perm 0 0 04755 SYSTEM:bin/a2sd set_perm 0 0 04755 SYSTEM:xbin/busybox copy_dir PACKAGE:data DATA:
show_progress 0. 2 0
format BOOT:
write_raw_image PACKAGE:boot?img BOOT:
show_progress 0. 2 10
这里面的内容,大部分是针对你要做的修改设置的。比如 copy_dir PACKAGE:system SYSTEM:
就是把system中新增的工具拷贝到手机上,然后
set_perm_recursive0 0 0755 0644 SYSTEM:xbin
set_perm_recursive
set_perm_recursive 0 0 0755 0644 SYSTEM:sd set_perm 0 0 04755 SY
文档评论(0)