额,很纠结,今天这人气估计是历史以来的最低点了,博客点击率木有超过20,哎,天怒人怨啊!多的不说教程会慢慢写下去,估计有那么几十篇,估计你读完就能直接上战场了。

首先下载一个ROM主要是ZIP格式的,下一篇给大家讲讲IMG格式的如何分。

一、下载一个ZIP格式的ROM解压,一个ROM的结构其实以CM7官方为例,很简单如下

META-INF
system
boot.img

当然有的也包含有DATA文件夹,那么这些是干嘛的呢!META-INF\com\google\android\updater-script放的是刷机脚本,刷进机器就靠这些脚本,一般不用动就行。

system里面放的是系统文件夹

system\app  
system\bin
 system\etc
 system\fontssystem\framework    
 system\lib
 system\media
 system\tts
 system\usr
 xbin
 build.prop

那么来看一些具体的参数,打字真他花儿的蛋疼,哎!手打一部分,一部分来自网络!

\system\app
 \system\app\AlarmClock.apk 闹钟
 \system\app\Browser.apk 浏览器
 \system\app\Bugreport.apk Bug报告
 \system\app\Calculator.apk 计算器
 \system\app\Calendar.apk 日历
 \system\app\CalendarProvider.apk 日历提供
 \system\app\Camera.apk 照相机
 \system\app\com.amazon.mp3.apk 亚马逊音乐
 \system\app\Contacts.apk 联系人
 \system\app\DownloadProvider.apk 下载提供
 \system\app\DrmProvider.apk DRM数字版权提供
 \system\app\Email.apk 电子邮件客户端
 \system\app\FieldTest.apk 测试程序
 \system\app\GDataFeedsProvider.apk GoogleData提供
 \system\app\Gmail.apk Gmail电子邮件
 \system\app\GmailProvider.apk Gmail提供
 \system\app\GoogleApps.apk 谷歌程序包
 \system\app\GoogleSearch.apk 搜索工具
 \system\app\gtalkservice.apk GTalk服务
 \system\app\HTMLViewer.apk HTML查看器
 \system\app\HtcTwitter.apk 集成Twitter客户端PEEP
 \system\app\IM.apk 即使通讯组件包含MSN、yahoo通
 \system\app\ImCredentialProvider.apk
 \system\app\ImProvider.apk
 \system\app\Launcher.apk 启动加载器
 \system\app\HtcNaviPanel.apk 导航软件
 \system\app\Maps.apk 电子地图
 \system\app\MediaProvider.apk 多媒体播放提供
 \system\app\Mms.apk 短信、彩信
 \system\app\Music.apk 音乐播放器
 \system\app\MyFaves.apk T-Mobile MyFaves程序
 \system\app\NewsReader.apk 新闻阅读器
 \system\app\PackageInstaller.apk apk安装程序
 \system\app\Phone.apk 电话拨号器
 \system\app\Settings.apk 系统设置
 \system\app\SettingsProvider.apk 设置提供
 \system\app\SetupWizard.apk 设置向导
 \system\app\SoundRecorder.apk 录音工具
 \system\app\Street.apk 街景地图
 \system\app\Sync.apk 同步程序
 \system\app\Talk.apk 语音程序
 \system\app\TelephonyProvider.apk 电话提供
 \system\app\Updater.apk 更新程序
 \system\app\VpnServices.apk VPN服务
 \system\app\Vending.apk 制造商信息
 \system\app\VoiceDialer.apk 语音拨号器
 \system\app\VoiceSearch.apk 语音搜索
 \system\app\YouTube.apk Youtube视频

\system\bin
这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件,Android手机网就主要文件做下简单的分析介绍:

\system\bin\akmd
 \system\bin\am
 \system\bin\app_process 系统进程
 \system\bin\dalvikvm Dalvik虚拟机宿主
 \system\bin\dbus-daemon 系统BUS总线监控
 \system\bin\debuggerd 调试器
 \system\bin\debug_tool 调试工具
 \system\bin\dexopt DEX选项
 \system\bin\dhcpcd DHCP服务器
 \system\bin\dumpstate 状态抓取器
 \system\bin\dumpsys 系统抓取器
 \system\bin\dvz
 \system\bin\fillup
 \system\bin\flash_image 闪存映像
 \system\bin\hciattach
 \system\bin\hcid HCID内核
 \system\bin\hostapd
 \system\bin\hostapd_cli
 \system\bin\htclogkernel
 \system\bin\input
 \system\bin\installd
 \system\bin\itr
 \system\bin\linker
 \system\bin\logcat Logcat日志打印
 \system\bin\logwrapper
 \system\bin\mediaserver
 \system\bin\monkey
 \system\bin\mountd 存储挂载器
 \system\bin\netcfg 网络设置
 \system\bin\ping Ping程序
 \system\bin\playmp3 MP3播放器
 \system\bin\pm 包管理器
 \system\bin\qemud QEMU虚拟机
 \system\bin\radiooptions 无线选项
 \system\bin\rild RIL组件
 \system\bin\sdptool
 \system\bin\sdutil
 \system\bin\service
 \system\bin\servicemanager 服务管理器
 \system\bin\sh
 \system\bin\ssltest SSL测试
 \system\bin\surfaceflinger 触摸感应驱动
 \system\bin\svc 服务
 \system\bin\system_server
 \system\bin\telnetd Telnet组件

\system\etc
从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。

\system\etc\apns-conf.xml APN接入点配置文件
 \system\etc\AudioFilter.csv 音频过滤器配置文件
 \system\etc\AudioPara4.csv
 \system\etc\bookmarks.xml 书签数据库
 \system\etc\dbus.conf 总线监视配置文件
 \system\etc\dhcpcd
 \system\etc\event-log-tags
 \system\etc\favorites.xml 收藏夹
 \system\etc\firmware 固件信息
 \system\etc\gps.conf GPS设置文件
 \system\etc\hcid.conf内核HCID配置文件
 \system\etc\hosts 网络DNS缓存
 \system\etc\init.goldfish.sh
 \system\etc\location 定位相关
 \system\etc\mountd.conf 存储挂载配置文件
 \system\etc\NOTICE.html 提示网页
 \system\etc\permissions.xml 权限许可
 \system\etc\pvplayer.conf
 \system\etc\security
 \system\etc\wifi WLAN相关组件
 \system\etc\location\gps\location 定位相关
 \system\etc\location\gps\nmea GPS数据解析
 \system\etc\location\gps\properties
 \system\etc\security\cacerts.bks
 \system\etc\security\otacerts.zip OTA下载验证
 \system\etc\wifi\wpa_supplicant.conf WPA验证组件\system\fonts


字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库,从T- Mobile G1上可以清楚的看到显示简体中文正常,其中DroidSansFallback.ttf文件大小

\system\fonts\DroidSans-Bold.ttf
 \system\fonts\DroidSans.ttf
 \system\fonts\DroidSansFallback.ttf
 \system\fonts\DroidSansMono.ttf
 \system\fonts\DroidSerif-Bold.ttf
 \system\fonts\DroidSerif-BoldItalic.ttf
 \system\fonts\DroidSerif-Italic.ttf
 \system\fonts\DroidSerif-Regular.ttf\system\framework


framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。

\system\framework\am.jar
 \system\framework\am.odex
 \system\framework\android.awt.jar AWT库\system\framework\com.google.android.gtalkservice.jar GTalk服务
 \system\framework\com.google.android.gtalkservice.odex
 \system\framework\com.google.android.maps.jar 电子地图库
 \system\framework\com.google.android.maps.odex
 \system\framework\core.jar 核心库,启动桌面时首先加载这个
 \system\framework\core.odex
 \system\framework\ext.jar
 \system\framework\ext.odex
 \system\framework\framework-res.apk
 \system\framework\framework-tests.jar
 \system\framework\framework-tests.odex
 \system\framework\framework.jar
 \system\framework\framework.odex
 \system\framework\input.jar 输入库
 \system\framework\input.odex
 \system\framework\itr.jar
 \system\framework\itr.odex
 \system\framework\monkey.jar
 \system\framework\monkey.odex
 \system\framework\pm.jar 包管理库
 \system\framework\pm.odex
 \system\framework\services.jar
 \system\framework\services.odex
 \system\framework\ssltest.jar
 \system\framework\ssltest.odex
 \system\framework\svc.jar 系统服务
 \system\framework\svc.odex\system\lib


lib目录中存放的主要是系统底层库,如平台运行时库。

\system\lib\libaes.so
 \system\lib\libagl.so
 \system\lib\libandroid_runtime.so Android运行时库
 \system\lib\libandroid_servers.so 系统服务组件
 \system\lib\libaudio.so 音频处理
 \system\lib\libaudioeq.so EQ均衡器
 \system\lib\libaudioflinger.so 音频过滤器
 \system\lib\libbluetooth.so 蓝牙组件
 \system\lib\libcamera.so 超相机组件
 \system\lib\libcrypto.so 加密组件
 \system\lib\libdrm1.so DRM解析库\system\media


铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音

\system\media\audio
 \system\media\audio\alarms 闹铃音
 \system\media\audio\notifications 提示音
 \system\media\audio\ringtones 铃声
 \system\media\audio\ui 界面操作事件音

\system\sounds
默认的音乐测试文件,仅有一个test.mid文件,用于播放测试的文件。
\system\sounds\test.mid

\system\usr
用户文件夹,包含共享、键盘布局、时间区域文件等。

二、定制简单流程:
1、下载相应的ROM
2、下载签名工具(本站内有)。
3、把ROM内的所有文件用WinZip或是WinRAR解压到某一文件夹,为教程容易明白,我将这文件夹在这里起名为“NewsROM”,你自已喜欢怎样起名都无所谓。
4、进入NewsROM文件夹,再进入system\app删除你不想要的组件、或是添加你需要的组件。由于有一些组件与其它组件是有依赖的,所以删除时请注意。但也不要怕,如果你删除的组件不对,刷机时最多是无法进入系统,你用完整ROM重新刷一次既可。一般不会变成砖的。
5、删除、添加软件完毕,然后把 ROM 文件夹重新打包、自动签名,这个就是已精简的ROM了。

三、字体替换

中文字体:找到\system\fonts下DroidSansFallback.ttf,把你喜欢的字体改成这个名字,直接覆盖就行了。

英文字体:找到\system\fonts下DroidSans.ttf,把你喜欢的字体改成这个名字,直接覆盖就行了。

四、开机动画的替换

找到system\media\bootanimation.zip替换就行,网上一搜一大把

五、软件带LIB的加入

多是输入法,例如百度输入法,用WINRAR打开发现有个lib的文件夹,那么里面有一个或者多个.so文件,要放入\system\lib目录下,才能运行,百度输入法就直接放system\app里就行了。

六、打包、签名

全选META-INF、system、boot.img三个文件,打包为ZIP格式文件。然后用APKtool签名即可。


编译Android 能用的GDAL_反编译