一。首先我们来看看ROM中到底有些什么:用WinRAR打开刷机包后可以看到几个目录,下面列出了和我们有关的几个目录和说明dev_data/apps/:系统程序的apk文件目录,相当于刷机后/data/app_s/,这里的程序刷机后不可卸载dev_data/app/:用户程序apk文件目录,相当于刷机后/data/app/,这里的程序刷机后可卸载。(10月28日以后的版本中才有,以前的版本大家可以自己加这个目录)META-INF/com/google/android/:刷机脚本文件system/etc/:存放了一些配置文件system/etc/permissions/:和软件权限有关,部分补丁需要在这个目录中添加文件system/lib/:系统程序的库文件存放位置二。再来认识一下刷机脚本文件用recovery刷机时,刷机过程由脚本文件控制。脚本文件就是压缩包中META-INF\com\google\android目录下的update-script文件,用文本编辑器可以打开。脚本文件中有这么几条语句是我们关心的:(1)show_progress0.10:显示进度条这是用来显示刷机进度条的,前面的0.1表示进度条的位置,可以改为别的数值(小于1)。后面的数字不清楚是什么含义,大体上除了最后一条为10,其他都为0。有些ROM在刷机时会出现刷机完成了进度条才走到一半多点,大家可以试试把最后一句改为show_progress0.810,进度条就可以走到底了。(2)几个关键字(A)SYSTEM:代表刷机后的系统目录=/system/(B)INTERNAL:代表刷机后的/data目录=/data/(C)PACKAGE:代表压缩包的根目录例如SYSTEM:etc/相当于刷机后的/system/etc/目录PACKAGE:dev_data相当于压缩包中的dev_data目录(3)copy_dirPACKAGE:dev_dataINTERNAL:copy_dir是用来复制目录的,前一个参数是要复制的目录,后一个参数是复制到那里。例如copy_dirPACKAGE:dev_dataINTERNAL:是用来把ROM压缩包中dev_data目录中的东西复制到刷机后的/data/目录下(4)set_perm_recursive0200007550755SYSTEM:bin设置目录或文件权限的,使用方法和linux中设置权限的方法类似。(5)deleteSYSTEM:app/YouTube.apk删除文件,这个一般用不到,要删除的话,直接删就是了。好了,可以动手精简和增加程序了二。精简系统程序所谓精简实际上就是删除系统程序,我们用不到的那些程序可以删除掉。删除这些程序好处在于(1)有些东西是我们用不到的,显示在程序列表中很烦人,如果这样的程序过多也会导致打开程序列表过慢。(2)有些程序启动后会占用内存而我们又用不到。例如,短信拦截等。(3)有些程序不想用原ROM中自带的,想换个别的,例如不喜欢ADW,改用LAUNCHPRO等。精简的方法很简单,用WinRAR打开ROM,进入dev_data\apps中找到不要的程序,删除。那些程序可以精简:这个问题有很多帖子都提到了,大家可以搜一搜。三。添加程序添加程序有两个方法,一是把程序添加为系统程序,二是添加为用户程序。把程序添加为系统程序的好处在于执行速度快(大家这么说的,我好像没有体会到),缺点是不能直接卸载,只有通过RE等工具删除。其实用RE直接删除系统程序APK文件时并非都卸载干净了,不信大家可以看看/data/data/这个目录,是不是每个程序都对应了一个目标,其目录名和程序包的名称相同(不是XXX.APK这个XXX)。1。添加系统程序:添加系统程序方法最简单:(1)用WinRAR打开ROM压缩文件,进入\dev_data\app_s这个目录,把要添加的程序的APK文件复制进去。(2)用WinRAR打开要添加进去的APK文件看看“\lib\armeabi”目录中是否有.so结尾的文件,它们是程序运行时需要用到的库文件,有的话把他们复制到压缩包中的“system/lib/”目录中。有些童鞋在修改ROM的时候添加的程序无法执行,大多属于这个情况。例如新版本的谷歌拼音输入法。2。添加用户程序:添加用户程序稍微麻烦点,但是刷机后可直接卸载。如果用的是10月28日以后的ROM,直接把apk拖入dev_data/app/目录中。这一步很简单,麻烦的是apk中有库文件的情况。简单处理方法同添加系统程序中的第2步,这种方法的缺点是卸载时库文件还会保留在“system/lib/”中,好在大多数程序都没有库文件,少数程序保留下来的库文件并无大碍。高级点的方法是通过写脚本进行安装。10月28日以前的ROM在“dev_data/”中没有app这个目录,大家可以自己建立(winRAR中点击右键,选创建一个新文件夹),建立好目录后要在刷机脚本中设置目录属性:在刷机脚本中找到这一段:copy_dirPACKAGE:dev_dataINTERNAL:set_perm100010000771INTERNAL:app_s在其后加上这一句:set_perm100010000771INTERNAL:app其中第一句是把ROM中dev_data目录中的所有东东复制到/data目录下第二句是设置app_s的权限我们加的那一句是设置app的权限接下来可以修补,调整ROM了。接下来可以修补,调整ROM了四。firstboot脚本要对ROM进行高级点的设置,可以利用firstboot.sh脚本。firstboot.sh脚本在ROM中的dev_data目录中。脚本中的代码是在刷完机后第一次启动时执行的,利用它可以对系统进行设置,安装APK等工作。看看liudidi1028rom中的脚本片段#Systemdefaultsettings/system/xbin/sqlite3$DATABASEINSERTINTOsystem(name,value)VALUES('trackball_wake_screen',1);/system/xbin/sqlite3$DATABASEINSERTINTOsystem(name,value)VALUES('trackball_unlock_screen',1);/system/xbin/sqlite3$DATABASEINSERTINTOsystem(name,value)VALUES('lock_home_in_memory',1);我想大家应该可以猜出这三句代码的作用了吧。至于脚本这么写,不要来问我,我也不熟,大家可以共同研究。在脚本中可以使用rm,mv等命令,用它可以直接把某些配置文件覆盖掉。例如:busyboxrm/system/etc/某文件busyboxmv/system/etc/某文件当然,如果修改的是系统文件,先要取得权限:busyboxmount-oremount,rw/system之后再改为只读:busyboxmount-oremount,ro/systemfirstboot.sh很有用,要是哪位大大能写个初级教程就好了!五。ROM常见的系统配置文件。修改这些文件可以调整系统设置1。\system\etc\spn-conf.xml:显示营运商的例如?xmlversion=1.0encoding=utf-8?spnOverridesspnOverridenumeric=46001spn=中国联通/spnOverridenumeric=46000spn=中国移动/spnOverridenumeric=46002spn=中国移动//spnOverrides如果下载的ROM中显示的是英文,可以试着修改这个文件。2。\system\etc\gps.conf:和GPS搜星相关,所谓提高搜星速度就是修改这个文件了方法,把文件中NTP_SERVER=XXXXX.pool.ntp.org改为NTP_SERVER=cn.pool.ntp.org。我试过,这个网站ping的速度的确比原始设置中的那个要快一倍以上3。\system\bin\rc:这个大家应该很熟悉了,用来设置Swap,Compcache之类的。(1)设置SWAP进入文件后找到##########################Swap########其后的代码是和开启Swap有关的例如SWAPNUM=`fdisk-l/dev/block/mmcblk1|grepswap|sed-e's/.*//g'`if[-n$SWAPNUM];thenecho60/proc/sys/vm/swappinessswapon$SWAPNUMfi在每行前面加#注释掉后就可以不开机启动swap了要改swappiness的大小可以该第三行中的60这个数字。设置Compcache大家可以自己试试(2)修改内存管理参数在rc文件中加入这一行echo1536,1536,3072,1536,10240,12800/sys/module/lowmemorykiller/parameters/minfree其中的数字从左到右为:前台进程、可见进程、次要服务、后台服务、内容供应节点、空进程,其中的数值的单位是4k,也就是说1536:4k*1536=6144k=6M4。\system\etc\apns-conf.xml:和网络接入点设置有关例如,和移动联通有关的设置本帖隐藏的内容apncarrier=中国移动(Internet)apn=cmnetmcc=460mnc=00type=default,supl/apncarrier=中国移动(WAP)apn=cmwapproxy=10.0.0.172port=80mcc=460mnc=00type=default,supl/apncarrier=中国移动(MMS)apn=cmwapmmsc==10.0.0.172mmsport=80mcc=460mnc=00type=mms/apncarrier=中国联通(Internet)apn=3gnetmcc=460mnc=01type=default,supl/apncarrier=中国联通(WAP)apn=3gwapproxy=10.0.0.172port=80mcc=460mnc=01type=default,supl/apncarrier=中国联通(MMS)apn=3gwapmmsc==10.0.0.172mmsport=80mcc=460mnc=01type=mms/apncarrier=中国移动(Internet)apn=cmnetmcc=460mnc=02type=default,supl/apncarrier=中国移动(WAP)apn=cmwapproxy=10.0.0.172port=80mcc=460mnc=02type=default,supl/apncarrier=中国移动(MMS)apn=cmwapmmsc==10.0.0.172mmsport=80mcc=460mnc=02type=mms/如果ROM中没有自带apn设置,可以在这个文件中加入,如果ROM中显示的接入点名称不是中文也可以通过修改这个来实现注意:1.修改ROM时最好不要解压缩,直接在WINRAR中操作,因为ROM应该是在Linux中压缩的,压缩格式可能会和在weindows下直接用winRAR压缩出来的不同。2.包中的文件不要有中文文件名3.刷机前一定要备份,修改的ROM要是有什么地方弄错了很容易进不了系统六。无google套件google地图定位补丁下载gapps的刷机包,复制下述文件到ROM中的对应目录即可:\data\app_s\NetworkLoca