首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

[转] 批改ROM大致可分为:精简、增补、美化三类,这里主要讨论的是精简和增补两个方面

2013-10-24 
[转] 修改ROM大致可分为:精简、增补、美化三类,这里主要讨论的是精简和增补两个方面.http://www.in189.com/t

[转] 修改ROM大致可分为:精简、增补、美化三类,这里主要讨论的是精简和增补两个方面.


http://www.in189.com/thread-290527-1-1.html

一。首先我们来看看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_progress?0.1 0 :显示进度条
? ?? ?? ?这是用来显示刷机进度条的,前面的0.1表示进度条的位置,可以改为别的数值(小于1)。后面的数字不清楚是什么含义,大体上除了最后一条为10,其他都为0。有些ROM在刷机时会出现刷机完成了进度条才走到一半多点,大家可以试试把最后一句改为 show_progress 0.8 10,进度条就可以走到底了。
? ??(2)几个关键字
? ?? ?? ?(A)"SYSTEM:" 代表刷机后的系统目录 = "/system/"
? ?? ?? ?(B)"INTERNAL:" 代表刷机后的 /data 目录 = "/data/"
? ?? ?? ?(C)"PACKAGE:" 代表压缩包的根目录
? ?? ?? ?? ?? ?? ?例如 "SYSTEM:etc/ " 相当于刷机后的 "/system/etc/" 目录
? ?? ?? ?? ?? ?? ?? ???"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
? ?? ?? ?? ?? ?设置目录或文件权限的,使用方法和linux中设置权限的方法类似。
? ?? ???(5)delete SYSTEM:app/YouTube.apk
? ?? ?? ?? ?? ?删除文件,这个一般用不到,要删除的话,直接删就是了。

? ???好了,可以动手精简和增加程序了

二。精简系统程序
? ?? ? 所谓精简实际上就是删除系统程序,我们用不到的那些程序可以删除掉。删除这些程序好处在于(1)有些东西是我们用不到的,显示在程序列表中很烦人,如果这样的程序过多也会导致打开程序列表过慢。(2)有些程序启动后会占用内存而我们又用不到。例如,网警屏蔽词语等。(3)有些程序不想用原ROM中自带的,想换个别的,例如不喜欢ADW,改用LAUNCH PRO等。
? ? 精简的方法很简单,用WinRAR打开ROM,进入dev_data\apps中找到不要的程序,删除。
? ? 那些程序可以精简:这个问题大家百度搜索下就有了

? ?? ?? ?? ?? ?? ?? ??? ?? ?? ?? ?? ?? ?? ???
三。添加程序
? ? 添加程序有两个方法,一是把程序添加为系统程序,二是添加为用户程序。 把程序添加为系统程序的好处在于执行速度快(大家这么说的,我好像没有体会到),缺点是不能直接卸载,只有通过RE等工具删除。其实用RE直接删除系统程序APK文件时并非都卸载干净了,不信大家可以看看/data/data/这个目录,是不是每个程序都对应了一个目标,其目录名和程序包的名称相同(不是**.APK这个**)。
? ??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_dir PACKAGE:dev_data 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后最后一步就是签名了,其实签名很简单,下载签名工具,把修改好的ROM改名为update.zip,放在签名工具的目录中,执行签名工具中的sign.bat,等一会会生成一个updata_signed.zip的文件,这个就是签名好的ROM了。之后就可以开始刷机,享受自己的劳动成果了。

运行签名工具需要有java环境,网络上下载jdk,安装OK

热点排行