设为首页收藏本站

移动叔叔

搜索
楼主: se7enen
打印 上一主题 下一主题

定制属于自己的Android Rom(Linux环境)

  [复制链接]
跳转到指定楼层
楼主
发表于 2011-5-22 10:57:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
教程类
教程类: 操作使用
定制属于自己的Android Rom(Linux环境)

废话:

Android Rom的制作在很多小白心中或许仅仅是个想法,因为修改ROM听起来好像就是牛人的专职。但是,如果不是要修改内核,不是修复Bug或着其他深入的东西,而仅仅是基于某一个较为成熟的ROM来制定自己的ROM,那并不是太难的事情。

定制自己需要的ROM的好处就是,你是根据自己的爱好来设定的。比如,你不喜欢Google的服务,那你可以在自己制定的ROM将其排除在外,而不在需要在刷机后再想办法一个一个删掉。也可以基于你最喜欢的ROM将其个性化后,作为以后刷其他ROM遇到不满意的时候刷回来,而不必又再重新再配置。

如果看完上面后,觉得我只是一堆废话,或者说用钛金属备份就可以,那我下面说的对你来说都是浮云,请止步,也不要再浪费你的时间了。我下面的东西纯粹是个人经验所得,不能说是知识或者理论,如有错误,可在回帖里纠正,但是可能由于个人原因,不能及时将错误更新甚至停止更新,请见谅我可能的不负责任。好了,废话说到这里。


正题:

1.熟悉ROM的几个目录

用解压缩软件可看到ROM的根目录类似于:


Super E :


                               
登录/注册后可看大图


CM 6.2 :


                               
登录/注册后可看大图


/data目录:

它的有无,主要是看/deta目录下有无内容,一般来说/data目录下放置的是用户的应用程序,或者说是用户的应用程度都放在这个目下(不要跟我说app2ext之类的,这里不讨论这些)。Super E没有/data目录,是因为它没有安装用户程序,而CM的有data目录,是因为CM的有用户程序。


/system目录:



                               
登录/注册后可看大图

我们小白主要修改的东西主要在/system/app、/system/fonts、/system/media目录下。首先来一个一个看看这些目录下的内容:


/system/app目录:

这个目录下存放的就是ROM自带的应用程度,也就是我们通常说的“系统程序”,主要是ROM的制作者按照普遍用户的需要放进去的。另外,常见的Google服务都在这个目录下面。


                               
登录/注册后可看大图


/system/fonts目录:

这个目录下存放的是ROM的字体文件,最重要或最经常修改的是DroidSans.ttf和DroidSansFallback.ttf这两个字体,前者是英文字体,后者是中文字体。通常修改字体就是修改这两个字体,如果是刷ROM后再修改为自己喜欢的字体,可使用RE管理器。


                               
登录/注册后可看大图


/system/media目录:

该目录下有一个子目录和一个文件:



                               
登录/注册后可看大图

文件bootanimation.zip是开机动画,就是开机第二屏。

子目录/system/media/audio存放的是音频文件,比如铃声、闹铃声、提示音、操作音等:


                               
登录/注册后可看大图



最后我们看看目录/META-INF目录下的内容:



                               
登录/注册后可看大图

通常来说会有CERT.RSA和CERT,SF两个文件,有时候会有MANFEST.MF,还有一个/META-INF/com子目录。子目录com有两个脚本update-binary和updater-script,不要去动它们:


                               
登录/注册后可看大图


关键的文件是CERT.RSA和CERT.SF这两个文件。这两个文件其实也是我们不需要修改的,这里提到它们,是因为我们修改ROM后需要重新打包自己定制完的ROM,而且要用这个定制完的ROM去生成一个可以用来刷的ROM。也就是通常所说的签名。签名的目的就是要重新生成属于我们自己定制的ROM的这两个文件。


2.定制ROM并且签名

定制ROM

基于别人的ROM来定制自己的ROM是比较简单的,主要就是修改上述几个目录下的文件。增加或者减少都可以。不过减少文件时需要注意的是,作为基础功能或者必须功能而存在的文件是不能删除的。比如某些情况下,某个程序可能被另外一个程序所需要,那么就不能“乱来”了。举例来说,删除Bluetooth.apk这个文件,将不能使用手机的蓝牙功能。又比如,删除Camera.apk,虽然你可以使用其他的拍照软件代替,但录像功能就不能用了。所以,删除文件时也是需要注意各个文件间的联系的。

下面给出/system/app/目录下部分可删除的文件清单(基于不同的ROM,这个目录下的文件/系统应程序是有差别的,所以这里给出来只是作为一种参考):


AccountAndSyncSettings.apk Gmail同步

Calendar.apk 自带日历 得登录谷歌帐户

CalendarProvider.apk 自带日历服务

DeskClock.apk 时钟 就是好看而已

Email.apk 邮箱客户端,和电脑里的“outlook”一样

EnhancedGoogleSearchProvider.apk 谷歌搜索管理器

FileManager.apk 文件查看(可删可不删,个人觉得挺好用的)

GenieWidhet.apk 自动废流量的天气预报和新闻

Gmail.apk 谷歌邮箱

GmailProvider.apk 谷歌邮箱服务

GoogleCheckinHelper.apk 谷歌连接诊断助手

GooglePartnerSetup.apk 谷歌合作伙伴设置

GlobalSearch.apk 全局搜索

GoogleSubscribedFeedsProvider.apk 帐户和同步设置

gtalkservice.apk 谷歌的聊天软件

HiDialer.apk 智能拨号

HiMarket.apk 超级市场

LiveWallpapersPicker.apk 动态壁纸 没效果很多人说这个没效果

Maps.apk 谷歌地图 慢 烧钱

MarketUpdater.apk 市场升级

MediaUploader.apk 媒体上传

NetworkLocation.apk 网络位置

PassionQuickOffice.apk 看office的

PicoTts.apk 文本到发音 很鸡肋

SetupWiazard 设置向导

SoundRecorder.apk 录音机(推荐终极录音,自带的用的时候卡住过)

Street.apk 谷歌街道 与地图关联

Talk.apk 还是谷歌聊天的

TalkProvider.apk 还是谷歌聊天的

TtsService.apk TTS服务

SystemUpdater.apk 系统升级

Vending.apk 电子市场

VoiceDialer.apk 语音拨号器 根本不实用许多人都删了

VoiceSearch.apk 语音拨号器的

YouTube.apk 著名的外国视频网站国内看不了


/system/fonts/目录下的DroidSans.ttf和DroidSansFallback.ttf文件可按照个人的喜好用适当的字体文件换掉。换掉前可适当做备份,以免失败也能用原来的字体替代以换回来。


/system/media/目录下的bootanimation.zip可换成自己喜欢的开机画面。比如比较流行的彩虹喷射、Android机器人跳舞等等。喜欢就行。而子目录audio下的文件可根据个人喜好来增减。一般是没有什么问题的。


最后要说说/data目录,你可以把你喜欢的应用程序(apk安装文件)放在下面,到时候开机的时候就等于安装上了。如果你这个目录是空的,那么签名后的ROM是没有这个目录的。所以就算你完成了你的包后没看到这个目录,也不须要太紧张,因为这是因为你没有安装你的程序。当然你的程序也可以放在/system/app/目录下。总之,放在/data目录下的,就是用户程序,放在/system/app目录下的,就成为系统程序(至于这两者会不会在运行时速度有差别之类的,还请高手出来解释,小白的我也不太明白)。


签名

当你按照你的喜好定制完你所需要的ROM的时候,就到关键的一步了——签名。我们基于某个ROM定制属于自己的ROM后,即使重新打包成*.zip文件,也是刷不上的。因为刷机的过程中会验证签名,而修改后的*.zip文件和原来的签名文件(/META-INF目录下的CERT.RSA和CERT,SF这两个文件)已经对不上号了。

所以,签名就是为了重新生成CERT.RSA和CERT,SF这两个文件。引用网上看到的一句话是:“[size=+0]我们这步的意义相当于对里面的程序[size=+0]/[size=+0]内容进行一次点名,避免‘货不对板’。

网上流行的签名工具都是Windows下的签名工具AutoSign,其实下载这个压缩包以后,可以发现里面的内容有:


                               
登录/注册后可看大图


通过查看README,可以知道其实签名过程就是一条命令:


java -jar signapk.jar testkey.x509.pem testkey.pk8 update.zip update_signed.zip


于是,只要我们的环境已经配置好了Java,那么无论在Windows下还是在Linux下,都是一样的。只是在Windows下,我们可以直接使用Sign.bat脚本来免输入命令的麻烦而已。(具体Java环境的配置,这里就不赘述了,因为Google一下就可以找到很多完整的配置教程)。

我们首先将修改后的各个目录打包成update.zip压缩包,如下:


                               
登录/注册后可看大图


然后放到签名工具的同一个目录下,如果是Linux用户,就打开终端并且去到该目录,接着执行命令:


$ java -jar signapk.jar testkey.x509.pem testkey.pk8 update.zip update_signed.zip


稍等一会,就可以看到在当前目录下生成一个签名后的包update_signed.zip:


                               
登录/注册后可看大图



检查生成的签名后的ROM目录是否正确:


                               
登录/注册后可看大图


没有问题的话,属于我们的定制ROM就算完成了!!!赶紧去刷机,然后感受一下我们的成果吧!

注意:刷机前记得备份重要数据!!!

您需要登录后才可以回帖 登录 | 注册

© 2008-2025 移动叔叔. 版权所有,专业的网络售后平台 ( 闽ICP备18006692号-3 )

商务合作点击这里给我发消息|Email:service@mobileuncle.com|手机版|移动叔叔     

GMT+8, 2025-1-8 22:03 , Processed in 0.202295 second(s), 11 queries , Gzip On, Memcache On.

返回顶部