Android ROM包制作

制作ROM包是做Android系统工程师的第一步,Android第三方的市场前景有多大相信大家也都明白。

制作方法
一、ROOT
无论是什么版本,首先要ROOT一下机器这是定制的前提
ROOT方法现在又好多集成工具:一键root、360root...在此不再赘述
二、工具准备
下载安装附件中的R.explorer管理器(rootexplorer.v2.9.4.apk)这个工具的作用是备份APK文件、删除APK文件、查看系统目录里面都有什么
下载http://androidforums.com/developer-101/8665-how-signing-roms.html我们主要用这个来对定制包签名(需要注册)需要注册用户登录才能下载。下载的工具是windows下执行的。

三、定制包制作知识
一般定制ROM(不是美化、也不是制作MOD)其实就是对手机内存里的system/app文件夹的内容进行自定义,自己安装的软件将不会出现在这里,而是\data\文件夹中。
系统所有的程序都在这个文件夹里,比如浏览器、拨号器、联系人等
先来看一下通常情况下这个文件夹里都包含什么:
\system\app\AlarmClock.apk 闹钟
\system\app\AlarmClock.odex
\system\app\Browser.apk 浏览器
\system\app\Browser.odex
\system\app\Bugreport.apk Bug报告
\system\app\Bugreport.odex
\system\app\Calculator.apk 计算器
\system\app\Calculator.odex
\system\app\Calendar.apk 日历
\system\app\Calendar.odex
\system\app\CalendarProvider.apk 日历提供
\system\app\CalendarProvider.odex
\system\app\Camera.apk 照相机
\system\app\Camera.odex
\system\app\com.amazon.mp3.apk 亚马逊音乐
\system\app\Contacts.apk 联系人
\system\app\Contacts.odex
\system\app\DownloadProvider.apk 下载提供
\system\app\DownloadProvider.odex
\system\app\DrmProvider.apk DRM数字版权提供
\system\app\DrmProvider.odex
\system\app\Email.apk 电子邮件客户端
\system\app\Email.odex
\system\app\FieldTest.apk 测试程序
\system\app\FieldTest.odex
\system\app\GDataFeedsProvider.apk GoogleData提供
\system\app\GDataFeedsProvider.odex
\system\app\Gmail.apk Gmail电子邮件
\system\app\Gmail.odex
\system\app\GmailProvider.apk Gmail提供

\system\app\GmailProvider.odex
\system\app\GoogleApps.apk 谷歌程序包
\system\app\GoogleApps.odex
\system\app\GoogleSearch.apk 搜索工具
\system\app\GoogleSearch.odex
\system\app\gtalkservice.apk GTalk服务
\system\app\gtalkservice.odex
\system\app\HTMLViewer.apk HTML查看器
\system\app\HTMLViewer.odex
\system\app\IM.apk 即使通讯组件包含MSN、yahoo通
\system\app\ImCredentialProvider.apk
\system\app\ImProvider.apk
\system\app\ImProvider.odex
\system\app\Launcher.apk 启动加载器
\system\app\Launcher.odex
\system\app\Maps.apk 电子地图
\system\app\Maps.odex
\system\app\MediaProvider.apk 多媒体播放提供
\system\app\MediaProvider.odex
\system\app\Mms.apk 短信、彩信
\system\app\Mms.odex
\system\app\Music.apk 音乐播放器
\system\app\Music.odex
\system\app\MyFaves.apk T-Mobile MyFaves程序
\system\app\MyFaves.odex
\system\app\PackageInstaller.apk apk安装程序
\system\app\PackageInstaller.odex
\system\app\Phone.apk 电话拨号器
\system\app\Phone.odex
\system\app\Settings.apk 系统设置
\system\app\Settings.odex
\system\app\SettingsProvider.apk 设置提供
\system\app\SettingsProvider.odex
\system\app\SetupWizard.apk 设置向导
\system\app\SetupWizard.odex
\system\app\SoundRecorder.apk 录音工具

\system\app\SoundRecorder.odex
\system\app\Street.apk 街景地图
\system\app\Street.odex
\system\app\Sync.apk 同步程序
\system\app\Sync.odex
\system\app\Talk.apk 语音程序
\system\app\Talk.odex
\system\app\TelephonyProvider.apk 电话提供
\system\app\TelephonyProvider.odex
\system\app\Updater.apk 更新程序
\system\app\Updater.odex
\system\app\Vending.apk 制造商信息
\system\app\Vending.odex
\system\app\VoiceDialer.apk 语音拨号器
\system\app\VoiceDialer.odex
\system\app\YouTube.apk Youtube视频
\system\app\YouTube.odex

然后是定制包的结构,定制包的命名一般是XXXX(英文)
.zip内容包括
/system/app/my.apk(你想要放进系统中的程序)
/META-INF/com/google/update-script(定制包脚本)
/META-INF/CERT.SF(签名文件)
/META-INF/CERT.RSA(签名文件)
/META-INF/MANIFEST.MF(签名文件)

首先应将准备好的程序放进这个ZIP包的/system/app目录里,只要将程序拖进附件中custom.zip的APP目录即可
下面我们的来看最后一处需要编辑的地方——脚本

四、脚本:
现在我们对里面的文件有了大致的了解,那么举例说明,如果我们要做一个基于以上ROM的定制包,那么大概要进行两种操作
1.添加目录里的APK程序到ROM的system/app里
2.从ROM里删除APK程序(即瘦身)
3.显示进程
添加目录的语句为copy_dir PACKAGE:定制包路径 手机内存路径
删除程序的语句为delete 手机内存路径
显示进程语句为show_progress
脚本文件可用TXT、记事本等程序作为打开方式并编辑保存
作为初学者
只需要掌握以下范例即可
show_progress 0.1 0
delete SYSTEM:app/DivXRegCode.odex
delete SYSTEM:app/YouTube.apk
copy_dir PACKAGE:system SYSTEM:
show_progress 0.1 10
其中对前后两个show_progress语句不需要理解,看中间的,
第一句是删除system/spp文件夹内的DivXRegCode.odex文件,
第二句是删除system/spp文件夹内的YouTube.apk文件,
第三句是复制(同时会覆盖已存在的文件)定制包中的system文件夹到手机内存的system文件夹。
需要注意的是不是所有的系统文件都可以替换、删除,一般来说
Layar304-final-market.apk
MetaMidpPlayer.apk 
MidpPlayer.apk 
switchers.apk
Youtube.apk
MySpace.apk
Facebook.apk

这些休闲娱乐类的东西可以删除,像MMS、PHONE等重要的程序通常情况下替换或者删除会出问题
掌握了这个就可以轻松地写一般的脚本了,一定要注意,脚本的最后一行下面必须有个空行,即只有一个回车存在的空行
脚本也制作完成后,即可进行下一步:签名
五、签名

运行:autosign.bat

第一次需要设置CLASS_PATH,将testsign.jar加进去,设置过程很简单,首先要输入2:

然后它会猜你的testsign.jar就在当前目录下,因此输入yes

然后选择4,手工输入需要签名的ROM路径,然后输入yes,就可以了

签名过程需要一段时间,需要耐心等待,签名后并不生成新的文件,是通过修改原文件完成的。

六、安装
线刷或者卡刷。

七、新手进阶
如果已经对制作定制包熟悉了的话
那么只要稍微动些脑子就可以做一些替换系统字体、修复联系人BUG等定制包~
提醒一下字体文件在system/font里,中文字体的文件名为DroidSansFallback.ttf
替换字体即是只要将字体文件命名为DroidSansFallback.ttf放入system/font文件夹里,用复制SYSTEM的语句正常刷进去即可
修复联系人BUG只需将联系人补丁内除了META-INF文件夹及其内的东西,都复制到你的定制包里,然后将脚本中除了show_progress命令之外,添加进你的定制包的脚本中~即可~简单吧~

你可能感兴趣的:(android,架构,ROM)