1、 一。首先我们来看看ROM中到底有些什么: 用WinRAR打开刷机包后可以看到几个目录,下面列出了和我们有关的几个目录和说明 dev_data/apps/ : 系统程序的apk文件目录,相当于刷机后 "/data/app_s/",这里的程序刷机后不可卸载 dev_data/app/: 用户程序apk文件目录,相当于刷机后"/data/app/",这里的程序刷机后可卸载。(10月28日以后的版本中才有,以前的版本大家可以自己加这个目录) META-INF/com/google/android/ : 刷机脚本文件 system/etc/: 存放了一
2、些配置文件 system/etc/permissions/ : 和软件权限有关,部分补丁需要在这个目录中添加文件 system/lib/ : 系统程序的库文件存放位置 二。再来认识一下刷机脚本文件 用recovery刷机时,刷机过程由脚本文件控制。脚本文件就是压缩包中 META-INF\com\google\android 目录下的 update-script文件,用文本编辑器可以打开。 脚本文件中有这么几条语句是我们关心的: (1)show_progress 0.1 0 :显示进度条 这是用来显示刷机进度条的,前面的0.1表示进度条的位置
3、可以改为别的数值(小于1)。后面的数字不清楚是什么含义,大体上除了最后一条为10,其他都为0。有些ROM在刷机时会出现刷机完成了进度条才走到一半多点,大家可以试试把最后一句改为 show_progress 0.8 10,进度条就可以走到底了。 (2)几个关键字 (A)"SYSTEM:" 代表刷机后的系统目录 = "/system/" (B)"INTERNAL:" 代表刷机后的 /data 目录 = "/data/" (C)"PACKAGE:" 代表压缩包的根目录 例如 "SYSTEM:etc/ " 相当于刷机后的 "/system/etc/" 目录
4、 "PACKAGE:dev_data" 相当于压缩包中的 dev_data 目录 (3) copy_dir PACKAGE:dev_data INTERNAL: copy_dir是用来复制目录的,前一个参数是要复制的目录,后一个参数是复制到那里。 例如 copy_dir PACKAGE:dev_data INTERNAL: 是用来把ROM压缩包中dev_data目录中的东西复制到刷机后的"/data/"目录下 (4)set_perm_recursive 0 2000 0755 0755 SYSTEM:bin 设置目录或文件权
5、限的,使用方法和linux中设置权限的方法类似。 (5)delete SYSTEM:app/YouTube.apk 删除文件,这个一般用不到,要删除的话,直接删就是了。 好了,可以动手精简和增加程序了 二。精简系统程序 所谓精简实际上就是删除系统程序,我们用不到的那些程序可以删除掉。删除这些程序好处在于(1)有些东西是我们用不到的,显示在程序列表中很烦人,如果这样的程序过多也会导致打开程序列表过慢。(2)有些程序启动后会占用内存而我们又用不到。例如,短信拦截等。(3)有些程序不想用原ROM中自带的,想换个别的,例如不喜欢ADW,改用LAUNCH PRO等。
6、 精简的方法很简单,用WinRAR打开ROM,进入dev_data\apps中找到不要的程序,删除。 那些程序可以精简:这个问题有很多帖子都提到了,大家可以搜一搜。 三。添加程序 添加程序有两个方法,一是把程序添加为系统程序,二是添加为用户程序。 把程序添加为系统程序的好处在于执行速度快(大家这么说的,我好像没有体会到),缺点是不能直接卸载,只有通过RE等工具删除。其实用RE直接删除系统程序APK文件时并非都卸载干净了,不信大家可以看看/data/data/这个目录,是不是每个程序都对应了一个目标,其目录名和程序包的名称相同(不是XXX.APK这个XXX)。
7、 1。添加系统程序: 添加系统程序方法最简单: (1)用WinRAR打开ROM压缩文件,进入 "\dev_data\app_s" 这个目录,把要添加的程序的APK文件复制进去。 (2)用WinRAR打开要添加进去的APK文件看看“\lib\armeabi”目录中是否有.so结尾的文件,它们是程序运行时需要用到的库文件,有的话把他们复制到压缩包中的“system/lib/”目录中。有些童鞋在修改ROM的时候添加的程序无法执行,大多属于这个情况。例如新版本的谷歌拼音输入法。 2。添加用户程序: 添加用户程序稍微麻烦点,但是刷机后可直接卸载。如果用的是10月28日
8、以后的ROM,直接把apk拖入"dev_data/app/"目录中。这一步很简单,麻烦的是apk中有库文件的情况。简单处理方法同添加系统程序中的第2步,这种方法的缺点是卸载时库文件还会保留在“system/lib/”中,好在大多数程序都没有库文件,少数程序保留下来的库文件并无大碍。高级点的方法是通过写脚本进行安装。 10月28日以前的ROM在“dev_data/”中没有app这个目录,大家可以自己建立(winRAR中点击右键,选创建一个新文件夹),建立好目录后要在刷机脚本中设置目录属性: 在刷机脚本中找到这一段: copy_dir PACKAGE:dev_da
9、ta INTERNAL: set_perm 1000 1000 0771 INTERNAL:app_s 在其后加上这一句: set_perm 1000 1000 0771 INTERNAL:app 其中第一句是把ROM中dev_data目录中的所有东东复制到/data目录下 第二句是设置 app_s的权限 我们加的那一句是设置app的权限 接下来可以修补,调整ROM了。 接下来可以修补,调整ROM了 四。firstboot脚本 要对ROM进行高级点的设置,可以利用firstboot.sh脚本。fi
10、rstboot.sh脚本在ROM中的dev_data目录中。脚本中的代码是在刷完机后第一次启动时执行的,利用它可以对系统进行设置,安装APK等工作。 看看liudidi1028rom中的脚本片段 # System default settings /system/xbin/sqlite3 $DATABASE "INSERT INTO system (name, value) VALUES ('trackball_wake_screen', 1);" /system/xbin/sqlite3 $DATABASE "INSERT INTO system (n
11、ame, value) VALUES ('trackball_unlock_screen', 1);" /system/xbin/sqlite3 $DATABASE "INSERT INTO system (name, value) VALUES ('lock_home_in_memory', 1);" 我想大家应该可以猜出这三句代码的作用了吧。至于脚本这么写,不要来问我,我也不熟,大家可以共同研究。 在脚本中可以使用rm,mv等命令,用它可以直接把某些配置文件覆盖掉。 例如: busybox rm /system/etc/某文件 busybox
12、 mv /system/etc/某文件
当然,如果修改的是系统文件,先要取得权限: busybox mount -o remount,rw /system
之后再改为只读 :busybox mount -o remount,ro /system
firstboot.sh很有用,要是哪位大大能写个初级教程就好了!
五。ROM常见的系统配置文件。
修改这些文件可以调整系统设置
1。\system\etc\spn-conf.xml:显示营运商的
例如
13、errides>
14、法,把文件中 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 15、/block/mmcblk1|grep swap|sed -e 's/ .*//g'`
if [ -n "$SWAPNUM" ];then
echo 60 > /proc/sys/vm/swappiness
swapon $SWAPNUM
fi
在每行前面加#注释掉后就可以不开机启动swap了
要改swappiness的大小可以该第三行中的60这个数字。
设置 Compcache大家可以自己试试
(2)修改内存管理参数
在rc文件中加入这一行
echo "1536,1536,3072,1536,10240,1280 16、0" > /sys/module/lowmemorykiller/parameters/minfree
其中的数字从左到右为:前台进程、可见进程、次要服务、后台服务、内容供应节点、空进程,其中的数值的单位是4k,也就是说1536 : 4k*1536=6144k=6M
4。 \system\etc\apns-conf.xml:和网络接入点设置有关
例如,和移动联通有关的设置
18、 20、来实现
注意:
1. 修改ROM时最好不要解压缩,直接在WINRAR中操作,因为ROM应该是在Linux中压缩的,压缩格式可能会和在weindows下直接用winRAR压缩出来的不同。
2. 包中的文件不要有中文文件名
3. 刷机前一定要备份,修改的ROM要是有什么地方弄错了很容易进不了系统
六。无google套件google地图定位补丁
下载gapps的刷机包,
复制下述文件到ROM中的对应目录即可:
\data\app_s\NetworkLocation.apk
\system\framework\com.google.andr 21、oid.maps.jar
\system\etc\permissi**\com.google.android.maps.xml
最后一步"签名"
修改完ROM后最后一步就是签名了,其实签名很简单,下载签名工具,把修改好的ROM改名为update.zip,放在签名工具的目录中,执行签名工具中的sign.bat,等一会会生成一个updata_signed.zip的文件,这个就是签名好的ROM了。之后就可以开始刷机,享受自己的劳动成果了。
运行签名工具需要有java环境,网络上下载jdk,安装OK
美化ROM包括,字体,图标,壁纸,状态栏的修改.但是这些全部 22、都在framework-res之内.下面给大家提供一个
修改framework-res美化界面教程
原文如下:
”在尝试制作半透明升级包的过程中,我发现有几个图片无论如何也不能透明,即使你挖空它,
可能是Android 2.1还不能接受全透明吧……
用WinRar打开framework-res.apk,绝大部分要修改的都在res\drawable-mdpi内(不同的ROM可能文件夹名字不一样,但是很快就能找到图片最多那个)。
状态栏要修改的几个文件:还有status_bar_header_background.9.png、status_bar_item_background_nor 23、mal.9.png可以修改,但是不能改成透明的(至少我修改失败了,不过末将说可以)。
2011-2-22 14:28 上传
下载附件 (8.56 KB)
信号和电池要修改的几个文件(某些ROM,如基于Beta7的,还有stat_sys_signal_null.png、stat_sys_signal_5.png、zz_stat_sys_signal_5.png要修改):
2011-2-22 14:28 上传
下载附件 (30.42 KB)
这些文件大部分通过英文就能明白它们所指的意思。
屏幕锁屏时要修改的(请到drawable-land-mdpi文件夹修 24、改同样名称的几个,drawable-land-mdpi文件夹保存的是横屏时的一些图片):
2011-2-22 14:28 上传
下载附件 (13.15 KB)
一般需要我们修改的就是任务栏,这些文件基本都在framework-res里面,大家可以在framework-res文件里面查找对应文件并替换就可以了.
修改的经验:
用Photoshop打开图片,如果锁定了就双击那个图层解锁,如果是“索引模式”就改图层模式为“RGB模式”。
然后用磁性套索工具或者矩形选区工具(总之是你喜欢的选区工具选住要透明的部分),然后右键->羽化,再按Delete键挖空它。保存。
如果这 25、时你用图片浏览器打开这个图片发现不是透明的,就继续操作吧。如果是要绝大部分透明,留一点半透明组件,那这里很难说清楚。
===================================================
美化状态栏时其中时间颜色更改的详细方法
如题:请至xda下载名为changecolor的软件。(许多同学e文不好,咱e文也一般所以,方法仅是个人总结的。。。并未参考任何其他人或者作者的教程的直译,如有需要请取舍一二)
修改方法:
1.请先下载xda上面的changecolor(点击下载)文件,然后在此网页(点击跳转传送门)中的两个文件,一个名为smali1.2.3 26、jar一个名为bsksmaili1.2.3.jar。
2.解压changecolor文件,并重新命名文件夹为任意名字例如m(方便即可,只是建议,鉴于许多同学不懂cmd命令,所以不懂得请按步骤来)
3.解压你得到的自制rom包,并将system/framework/severce.jar提取出来。
4.用rar或是7zip将severce.jar中的classes.dex提取并放置在m文件夹的根目录中。
5,开始--运行--cmd
6.cd..回车 cd..回车 cd m(这个你懂的)
7.输入命令行:java -jar baksmali1.2.3.jar -o classout/ 27、 classes.dex
8.然后你会在m文件夹下的classout目录中多了许多文件和文件夹
9.我们需要这个文件\classout\com\android\server\status\statusbaricon.smali
10.用文本编辑软件打开该文件找到 const/HIGH16 V6, -OX100并修改之(代码请参考xda上作者给出的颜色代码)
11.修改完成后重新使用命令java -Xmx512M -jar smali1.2.3.jar classout/ -o new-classes.dex会生成新的classes.dex.替换原来的即可。
如何替换默认壁纸(不涉 28、及动态壁纸)
首先用压缩软件打开ROM,找到system>app>LiveWallpapers.apk,然后用WINRAR打开,找到红框标识的文件夹
2011-2-23 13:58 上传
下载附件 (68.62 KB)
打开文件夹找到resource文件夹(如图下),然后打开此文件夹
2011-2-23 14:01 上传
下载附件 (22.7 KB)
2011-2-23 13:58 上传
下载附件 (166.58 KB)
如上图大家看到熟悉的默认壁纸,因为横屏竖屏分辨率等问题,每个图片都以多种分辨率存在,如果你想替换掉某一个默认壁纸需要以下几点
1.名称及格式要与你要替换的文件一致
2.这个图片所有分辨率形态都要替换掉,如下图
2011-2-23 13:58 上传
下载附件 (257.25 KB)
3.分辨率要与你替换掉的图片的分辨率一致
替换后打包后即可.






