Android平台ROM的定制及精简教程

本教程主要内容有:Android系统文件夹结构解析、应用软件说明、定制精简、ROM签名把包等内容。本教程测试平台为HTC G2、G3这两个型号,其它机型可以借鉴,刷机有风险,出问题自负。其实这个教程一早就想写的,但由于时间及本人的懒惰,一直拖着。今晚终于静下心来写好本文,本文有部份内容来自于网络。 
速度与华丽,你喜欢那个。是不是想要一个又够速度又华丽的ROM呢?我是一个追求新鲜的人,对于手机的ROM,我又追求稳定、精简、美观、省电。现在Hero ROM有很多,最新的有第三方Android 2.1版本,但这些ROM的制作者都会跟据自已的个人喜欢会增加和增少相应的功能或是界面,但我们往往不喜欢这些ROM的某些小方面,所以随着而来面对的问题就是怎样把这个ROM修改成为一个自已真正需要的ROM呢?以往一直是依靠“大杀器”来解决,但觉得还是过于麻烦,所以寻求办法自己动手修改ROM。于是有了本文。废话少说,进入正题。 
一、Android系统文件夹结构 
一个完整的ROM根目录会有以下几个文件夹及文件: 
data 
META-IN 
2)用户安装应用程序所在目录 /data/app/*.apk 
注意: 在模拟器中,每重启一次,/system/app/下的应用都会被还原,有时/data/app下也会被清除
3. SD卡对应目录  
/sdcard/ 
而我们需要处理的只是两个文件夹里面的内容: data/app –该文本夹里的文件可以全删,也可以自由添加自已所需安装的应用软件,刷机安装后可以自由删除。 
system/app –在这个文件夹下的程序为系统默认的组件,可以看到都是以APK格式结尾的文件,但有些自制的ROM里面还有和APK文件名对应的odex文件。我们主要是针对该文件夹里的文件进行精简,如果有odex文件的,删除APK文件名时同时也删除与其对应的odex文件。\system\app\GoogleSearch.apk 搜索工具 \system\app\gtalkservice.apk GTalk服务 
\system\app\HTMLViewer.apk HTML查看器 
\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 % Zl_{Q]h 
这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件,Android手机网就主要文件做下简单的分析介绍: 
\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 d\system\bin\logcat Logcat日志打印 
\system\bin\logwrapper 
\system\bin\mediaserver P 
\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\etc\init.goldfish.sh 
\system\etc\dhcpcd\dhcpcd-hooks\95-configured 
\system\etc\firmware\brf6300.bin 
\system\etc\location\gps
\system\etc\security\cacerts.bks 
\system\etc\security\otacerts.zip OTA下载验证
\system\etc\wifi\Fw1251r1c.bin 
\system\etc\wifi\tiwlan.ini  
\system\etc\wifi\wpa_supplicant.conf WPA验证组件
\system\fonts 
\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 _63 
\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\libc.so 
\system\lib\libcamera.so 超相机组件 
\system\lib\libcameraservice.so  
\system\lib\libcorecg.so 
\system\lib\libcrypto.so 加密组件 
\system\lib\libctest.so 
\system\lib\libcutils.so 
\system\lib\libdbus.so 
\system\lib\libdl.so 
\system\lib\libdrm1.so DRM解析库 
\system\lib\libdrm1_jni.so
\system\lib\libdvm.so 
\system\lib\libexif.so 
\system\lib\libexpat.so  
\system\lib\libOmxCore.so 
\system\lib\libOmxH264Dec.so 
\system\lib\libpvplayer.so 
\system\lib\libpvrtsp.so 
\system\lib\libpvrtspreg.so 
\system\lib\libqcamera.so 
\system\lib\libreference-ril.so 
\system\lib\libril.so 
\system\lib\librpc.so 
\system\lib\libsgl.so 
\system\lib\libsonivox.so 
\system\lib\libsoundpool.so 
\system\lib\libsqlite.so 
\system\lib\libsurfaceflinger.so 
\system\lib\libsystem_server.so
\system\lib\libthread_db.so 
\system\lib\libUAPI_jni.so 
\system\lib\libui.so 
\system\lib\libutils.so 
\system\lib\libvorbisidec.so 
\system\lib\libwbxml.so 
\system\lib\libwbxml_jni.so
\system\lib\libwebcore.so 
\system\lib\libwpa_client.so 
\system\lib\libxml2wbxml.so 
\system\lib\libz.so
\system\lib\modules 
\system\lib\modules\wlan.ko 
\system\media 
铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音 | \system\media\audio 
\system\media\audio\alarms 闹铃音
\system\media\audio\notifications 提示音
\system\media\audio\ringtones 铃声
\system\media\audio\ui 界面操作事件音 
\system\media\audio\alarms\Alarm_Beep_01.ogg
\system\media\audio\alarms\Alarm_Beep_02.ogg 
\system\media\audio\alarms\Alarm_Beep_03.ogg 
\system\media\audio\alarms\Alarm_Buzzer.ogg 
\system\media\audio\alarms\Alarm_Classic.ogg )(h\system\media\audio\alarms\Alarm_Rooster_02.ogg
\system\media\audio\notifications\Beat_Box_Android.ogg 
\system\media\audio\notifications\CaffeineSnake.ogg 
\system\media\audio\notifications\DearDeer.ogg 
\system\media\audio\ringtones\TwirlAway.ogg 
\system\media\audio\ringtones\VeryAlarmed.ogg 
\system\media\audio\ringtones\World.ogg 
\system\media\audio\ui\Effect_Tick.ogg 
\system\sounds 

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

\system\usr\share\bsk\V_FD_speed_101.bsk
\system\usr\share\bsk\V_FD_std_101.bsk 
\system\usr\share\zoneinfo\zoneinfo.dat 
\system\usr\share\zoneinfo\zoneinfo.idx
\system\usr\srec\config .07
\system\usr\srec\config\en.us 
\system\usr\srec\config\en.us\baseline.par
\system\usr\srec\config\en.us\models\generic11_f.swimdl 
\system\usr\srec\config\en.us\models\generic11_m.swimdl 
\system\usr\srec\config\en.us\models\generic8.lda dd 
\system\usr\srec\config\en.us\models\generic8_f.swimdl 
\system\usr\srec\config\en.us\models\generic8_m.swimdl 
OK,了解Android系统文件夹结构和相应文件的作用后,我们进行下一步真正定制工作。
二、定制简单流程: 
1、下载相应的ROM 
2、下载签名工具,并且解压。我这里解压成生的文件夹名为:“APKMake”。我这里提供签名工具的是宇宙青年制作的,下载请到这:http://u.115.com/file/f0a485d7d1 
3、把ROM内的所有文件用WinZip或是WinRAR解压到某一文件夹,为教程容易明白,我将这文件夹在这里起名为“NewsROM”,你自已喜欢怎样起名都无所谓。 
4、进入NewsROM文件夹,再进入dataapp目录,看这里是否有你所需的程序,不需要的请删除。你还可以添加你需要的默认安装软件。如:搜狗输入法,只需要把SogouIme.apk文件直接拖放到压缩包dataapp目录内即可。 
5、进入NewsROM文件夹,再进入systemapp删除你不想要的组件、或是添加你需要的组件。由于有一些组件与其它组件是有依赖的,所以删除时请注意。但也不要怕,如果你删除的组件不对,刷机时最多是无法进入系统,你用完整ROM重新刷一次既可。一般不会变成砖的。 6、删除、添加软件完毕,然后把 ROM 文件夹(NewsROM)拖动到APKMake/APKMake.bat 即可(重新打包、自动签名)。在APKMake目录里打包签名完成后自动会生成NewsROM.zip(刚才文件夹起名不同,这里生成文件名也不同),这个就是我们已精简的ROM了。 
三、刷ROM 请如果 Recovery 已经准备好。 
请按严格安装以下步骤操作刷入 ROM: 
1. 把 ROM 文件复制到 SD 卡。 
2. 关机,然后按住 Home(小房子)启动手机,进入 Recovery 模式。 
3. WIPE。
4. 在 Recovery 中选择正确的 ROM 文件(ZIP)刷入。4. 重新启动即可。 
四、定制注意事项
1、细心、细心、细心 
2、为安全起见,建议只对data/app和system/app这两个文件夹内的文件做删除、添加。
3、不知或是不太清楚要删除的文件是干啥的,那请保留不要删除。
4、本文中的Android系统文件夹结构可能比较旧,如果碰到不知该文件是干什么的,建议搜索一下找答案。
5、按照本教程来定制ROM,如果在定制过程自已失误删除相应的软件,那造成的后果最多也是无法进入系统,重新刷一个完整的ROM一般解决问题。 
刷机有风险,出问题自负。 
免责声明:以上所展示的信息来自互联网,内容的真实性、准确性和合法性本人未经验证,本人对此引发的一切后果不承担任何责任。

你可能感兴趣的:(手机)