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

http://bbs.gfan.com/android-1111797-1-1.html

速度与华丽,你喜欢哪个?是不是想要一个又够速度又华丽的ROM呢?我是一个追求新鲜的人,对于手机的ROM,我又追求稳定、精简、美观、省电。现在速度与华丽,你喜欢那个。是不是想要一个又够速度又华丽的ROM呢?我是一个追求新鲜的人,对于手机的ROM,我又追求稳定、精简、美观、省电。现在Desire ROM有很多,最新的有第三方Android2.3版本,但这些ROM的制作者都会根据自已的个人喜好增加或增少相应的功能或是界面,但我们往往不喜欢这些ROM的某些小方面,所以随着而来面对的问题就是怎样把这个ROM修改成为一个自已真正需要的ROM呢?所以寻求办法自己动手修改ROM,于是有了本文。废话少说,进入正题!

   

一、Android系统文件夹结构

一个完整的ROM根目录会有以下几个文件夹及文件:

data

META-IN

system

boot.img

系统目录说明

1. 应用程序安装目录

1)

系统应用程序所在目录

/system/app/*.apk

2)用户安装应用程序所在目录

/data/app/*.apk

3)

注意:

a)在模拟器中,每重启一次,/system/app/下的应用都会被还原,有时/data/app下也会被清除

b)若在/system/app和/data/app下有重名的应用,不一定会启动哪一个,尤其是在adb

install杀死正在运行的程序时,有时旧的就会被启动

2.用户数据所在目录

/data/data/应用包名/shared_prefs

配置文件

/data/data/应用包名/databases/* 库文件所在目录

3.

SD卡对应目录

/sdcard/

   

而我们需要处理的只是两个文件夹里面的内容:

    data/app

–该文本夹里的文件可以全删,也可以自由添加自已所需安装的应用软件,刷机安装后可以自由删除。

    system/app

–在这个文件夹下的程序为系统默认的组件,可以看到都是以APK格式结尾的文件,但有些自制的ROM里面还有和APK文件名对应的odex文件。我们主要是针对该文件夹里的文件进行精简,如果有odex文件的,删除APK文件名时同时也删除与其对应的odex文件。

   

虽然一般定制时只是对以上两个文件夹里的文件做相应的增减,但我们还是一起来了解system相应目录相应文件的用途吧。(rom版本不同里面的APK也会不一样)

二、定制简单流程

   

1、下载相应的ROM。

2、下载签名工具:APKSign.rar

3、把ROM内的所有文件解压到某一文件夹,为教程容易明白,我在这里将此文件夹起名为“NewsROM”,你自已喜欢怎样起名都无所谓。

4、进入NewsROM文件夹,再进入data\app目录,看这里是否有你所需的程序,不需要的可以删除。你还可以添加你需要的默认安装软件。如:搜狗输入法,只需要把SogouIme.apk文件直接拖放到压缩包\data\app目录内即可。

5、进入NewsROM文件夹,再进入system\app删除你不想要的组件、或是添加你需要的组件。由于有一些组件与其它组件是有依赖的,所以删除时请注意。但也不要怕,如果你删除的组件不对,刷机时最多是无法进入系统,你用完整ROM重新刷一次既可,一般不会变成砖的。

6、删除、添加软件完毕,然后使用winrar打包ROM文件夹(后缀还是为.zip),在APKSign“选择APK或者ROM文件”添加刚才打包的zip文件,然后选择存放目录,再选择“制作签名”,目录里打包签名完成后自动会生成一个ROM.zip,这个就是我们已精简的ROM了,可以直接用它刷机了。

三、刷ROM

    请按严格安装以下步骤操作刷入ROM:

    1. 把 ROM 文件复制到 SD 卡。

    2.关机,然后按住“音量-”+“开机键”启动手机,进入 Recovery 模式。

    3.WIPE。

    4. 在 Recovery 中选择正确的ROM文件(zip)刷入。

    5. 重新启动即可。

四、定制注意事项

   

1、细心、细心、还是tama的细心!

   

2、为安全起见,建议只对data/app和system/app这两个文件夹内的文件做删除、添加。

   

3、不知或是不太清楚要删除的文件是干啥的,那请保留不要删除。

   

4、按照本教程来定制ROM,如果在定制过程自已失误删除相应的软件,那造成的后果最多也是无法进入系统,重新刷一个完整的ROM一般解决问题。

=====================================================================================================================================================================================================================================================================================================================================================================================================================

一、Android系统文件夹结构
一个完整的ROM根目录会有以下几个文件夹及文件:
data
META-IN
system
boot.img
系统目录说明

1. 应用程序安装目录
1) 系统应用程序所在目录
/system/app/*.apk
2)用户安装应用程序所在目录
/data/app/*.apk
3) 注意:
a)在模拟器中,每重启一次,/system/app/下的应用都会被还原,有时/data/app下也会被清除
b)若在/system/app和/data/app下有重名的应用,不一定会启动哪一个,尤其是在adb install杀死正在运行的程序时,有时旧的就会被启动

2.用户数据所在目录
/data/data/应用包名/shared_prefs 配置文件
/data/data/应用包名/databases/* 库文件所在目录

3. SD卡对应目录
/sdcard/

而我们需要处理的只是两个文件夹里面的内容:
data/app –该文本夹里的文件可以全删,也可以自由添加自已所需安装的应用软件,刷机安装后可以自由删除。
system/app – 在这个文件夹下的程序为系统默认的组件,可以看到都是以APK格式结尾的文件,但有些自制的ROM里面还有和APK文件名对应的odex文件。我们主要是 针对该文件夹里的文件进行精简,如果有odex文件的,删除APK文件名时同时也删除与其对应的odex文件。

虽然一般定制时只是对以上两个文件夹里的文件做相应的增减,但我们还是一起来了解system相应目录相应文件的用途吧。(rom版本不同里面的APK也会不一样)

//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//YouT?.apk Yout?视频

//system//bin

这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件
//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//qem  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//bin//toolbox
//system//bin//wlan_loader
//system//bin//wpa_cli
//system//bin//wpa_supplicant

//system//etc

从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。
//system//etc//apns-conf.xml APN接入点配置文件
//system//etc//A ioFilter.csv 音频过滤器配置文件
//system//etc//A ioPara4.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//dhcpcd//dhcpcd-hooks
//system//etc//dhcpcd//dhcpcd-run-hooks
//system//etc//dhcpcd//dhcpcd.conf
//system//etc//dhcpcd//dhcpcd-hooks//01-test
//system//etc//dhcpcd//dhcpcd-hooks//20-dns.conf
//system//etc//dhcpcd//dhcpcd-hooks//95-configured
//system//etc//firmware//brf6300.bin
//system//etc//location//gps
//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//Fw1251r1c.bin
//system//etc//wifi//tiwlan.ini
//system//etc//wifi//wpa_supplicant.conf WPA验证组件

//system//fonts

字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库
//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//android.awt.odex
//system//framework//android.policy.jar
//system//framework//android.policy.odex
//system//framework//android.test.runner.jar
//system//framework//android.test.runner.odex
//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//liba io.so 音频处理
//system//lib//liba ioeq.so EQ均衡器
//system//lib//liba ioflinger.so 音频过滤器
//system//lib//libbl tooth.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//libFFTEm.so
//system//lib//libGLES_CM.so
//system//lib//libgps.so
//system//lib//libhardware.so
//system//lib//libhgl.so
//system//lib//libhtc_ril.so
//system//lib//libic ata.so
//system//lib//libicui18n.so
//system//lib//libicu .so
//system//lib//liblog.so
//system//lib//libm.so
//system//lib//libmedia.so
//system//lib//libmediaplayerservice.so
//system//lib//libmedia_jni.so
//system//lib//libnativehelper.so
//system//lib//libnetutils.so
//system//lib//libOmxCore.so
//system//lib//libOmxH264Dec.so
//system//lib//libpixelflinger.so
//system//lib//libpvasf.so
//system//lib//libpvasfreg.so
//system//lib//libpvauthor.so
//system//lib//libpvcommon.so
//system//lib//libpvdownload.so
//system//lib//libpvdownloadreg.so
//system//lib//libpvmp4.so
//system//lib//libpvmp4reg.so
//system//lib//libpvnet_support.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//libssl.so
//system//lib//libstdc++.so
//system//lib//libsurfaceflinger.so
//system//lib//libsystem_server.so
//system//lib//libthread_db.so
//system//lib//lib PI_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//a io
//system//media//a io//alarms 闹铃音
//system//media//a io//notifications 提示音
//system//media//a io//ringtones 铃声
//system//media//a io//ui 界面操作事件音
//system//media//a io//alarms//Alarm_Beep_01.ogg
//system//media//a io//alarms//Alarm_Beep_02.ogg
//system//media//a io//alarms//Alarm_Beep_03.ogg
//system//media//a io//alarms//Alarm_Buzzer.ogg
//system//media//a io//alarms//Alarm_Classic.ogg
//system//media//a io//alarms//Alarm_Rooster_02.ogg
//system//media//a io//notifications//Beat_Box_Android.ogg
//system//media//a io//notifications//CaffeineSnake.ogg
//system//media//a io//notifications//DearDeer.ogg
//system//media//a io//notifications//DontPanic.ogg
//system//media//a io//notifications//F1_MissedCall.ogg
//system//media//a io//notifications//F1_New_MMS.ogg
//system//media//a io//notifications//F1_New_SMS.ogg
//system//media//a io//notifications//Heaven.ogg
//system//media//a io//notifications//Highwire.ogg
//system//media//a io//notifications//KzurbSonar.ogg
//system//media//a io//notifications//OnTheHunt.ogg
//system//media//a io//notifications//TaDa.ogg
//system//media//a io//notifications//Tinkerbell.ogg
//system//media//a io//notifications//Voila.ogg
//system//media//a io//ringtones//BeatPl ker.ogg
//system//media//a io//ringtones//BentleyD s.ogg
//system//media//a io//ringtones//BirdLoop.ogg
//system//media//a io//ringtones//CaribbeanIce.ogg
//system//media//a io//ringtones//CrazyDream.ogg
//system//media//a io//ringtones//CurveBall.ogg
//system//media//a io//ringtones//DreamTheme.ogg
//system//media//a io//ringtones//EtherShake.ogg
//system//media//a io//ringtones//FriendlyGhost.ogg
//system//media//a io//ringtones//GameOverGuitar.ogg
//system//media//a io//ringtones//Growl.ogg
//system//media//a io//ringtones//InsertCoin.ogg
//system//media//a io//ringtones//LoopyLounge.ogg
//system//media//a io//ringtones//LoveFlute.ogg
//system//media//a io//ringtones//MidEvilJaunt.ogg
//system//media//a io//ringtones//MildlyAlarming.ogg
//system//media//a io//ringtones//NewPlayer.ogg
//system//media//a io//ringtones//Noises1.ogg
//system//media//a io//ringtones//Noises2.ogg
//system//media//a io//ringtones//Noises3.ogg
//system//media//a io//ringtones//OrganD .ogg
//system//media//a io//ringtones//Ring_Classic_02.ogg
//system//media//a io//ringtones//Ring_Digital_02.ogg
//system//media//a io//ringtones//Ring_Synth_02.ogg
//system//media//a io//ringtones//Ring_Synth_04.ogg
//system//media//a io//ringtones//RomancingTheTone.ogg
//system//media//a io//ringtones//SitarVsSitar.ogg
//system//media//a io//ringtones//SpringyJalopy.ogg
//system//media//a io//ringtones//T-Jingle.ogg
//system//media//a io//ringtones//Terminated.ogg
//system//media//a io//ringtones//TwirlAway.ogg
//system//media//a io//ringtones//VeryAlarmed.ogg
//system//media//a io//ringtones//World.ogg
//system//media//a io//ui//Effect_Tick.ogg

//system//sounds

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

//system//usr

用户文件夹,包含共享、键盘布局、时间区域文件等。
//system//usr//keychars
//system//usr//keylayout
//system//usr//share
//system//usr//srec
//system//usr//keychars//qwerty.kcm.bin
//system//usr//keychars//qwerty2.kcm.bin
//system//usr//keychars//trout-keypad-qwertz.kcm.bin
//system//usr//keychars//trout-keypad-v2.kcm.bin
//system//usr//keychars//trout-keypad-v3.kcm.bin
//system//usr//keychars//trout-keypad.kcm.bin
//system//usr//keylayout//h2w_headset.kl
//system//usr//keylayout//qwerty.kl
//system//usr//keylayout//trout-keypad-qwertz.kl
//system//usr//keylayout//trout-keypad-v2.kl
//system//usr//keylayout//trout-keypad-v3.kl
//system//usr//keylayout//trout-keypad.kl
//system//usr//share//bsk
//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
//system//usr//srec//config//en.us
//system//usr//srec//config//en.us//baseline.par
//system//usr//srec//config//en.us//baseline11k.par
//system//usr//srec//config//en.us//baseline8k.par
//system//usr//srec//config//en.us//dictionary
//system//usr//srec//config//en.us//g2p
//system//usr//srec//config//en.us//grammars
//system//usr//srec//config//en.us//models
//system//usr//srec//config//en.us//dictionary//basic.ok
//system//usr//srec//config//en.us//dictionary//cm plus.ok.zip
//system//usr//srec//config//en.us//dictionary//enroll.ok
//system//usr//srec//config//en.us//g2p//en-US-ttp.data
//system//usr//srec//config//en.us//grammars//VoiceDialer.g2g
//system//usr//srec//config//en.us//models//generic.swiarb
//system//usr//srec//config//en.us//models//generic11.lda
//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
//system//usr//srec//config//en.us//models//generic8_f.swimdl
//system//usr//srec//config//en.us//models//generic8_m.swimdl

 

 

http://jeffreyyin.blog.163.com/blog/static/8215882010101824810608/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值