2026年10月31日 · 今日 0 帖 · 会员 6.1万 · 主题 17.4万
登录 · 注册 · 游客,欢迎随便逛逛
返回版块
91830
Lv3畅意三江水等级图标
勋章
帖子
33
回复
455
积分
8,382
注册
2012-01-16
[安卓交流]

教你制作专属于你自己的ROM

[复制链接]
查看 404 回复 0
楼主 发表于 | 查看全部
8 人收藏

修改rom大致可分为:精简、增补、美

化三类这里主要讨论的是精简和增补

两个方面,至于美化大家可以参看其

他帖子。

一。首先我们来看看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目录下

的*-script文件,用文本编辑器可以打

开。脚本文件中有这么几条语句是我

们关心的

(1)show_progress0.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)* system:app/youtube.apk

删除文件,这个一般用不到,要删除

的话,直接删就是了。

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

二。精简系统程序

所谓精简实际上就是删除系统程序,

我们用不到的那些程序可以删除掉。

删除这些程序好处在于(1)有些东西

是我们用不到的,显示在程序列表中

很烦人,如果这样的程序过多也会导

致打开程序列表过慢。(2)有些程序

启动后会占用内存而我们又用不到。

例如,短信拦截等。(3)有些程序不

想用原rom中自带的,想换个别的,

例如不喜欢adw,改用launch pro

等。

精简的方法很简单,用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_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了四。

firstboot脚本

要对rom进行高级点的设置,可以利

用firstboot.sh脚本。firstboot.sh脚

本在rom中的dev_data目录中。脚本

中的代码是在刷完机后第一次启动时

执行的,利用它可以对系统进行设

置,安装apk等工作。

看看liudidi1028rom中的脚本片段

# system default settings

/system/xbin/sqlite3 $$$$$$$$

database“* into system (name,

value) values (‘trackball_wake_

screen‘, 1);“

/system/xbin/sqlite3 $$$$$$$$

database“* into system (name,

value) values (‘trackball_unlock_

screen‘, 1);“

/system/xbin/sqlite3 $$$$$$$$

database“* into system (name,

value) values

(‘lock_home_in_memory‘, 1);“我想

大家应该可以猜出这三句代码的作用

了吧。至于脚本这么写,不要来问

我,我也不熟,大家可以共同研究。

在脚本中可以使用rm,mv等命令,

用它可以直接把某些配置文件覆盖

掉。

例如:busybox rm /system/etc/某文

件

busybox mv /system/etc/某文件

当然,如果修改的是系统文件,先要

取得权限:busybox mount -o

remount,rw /system

之后再改为只读 :busybox mount -

o remount,ro /system

firstboot.sh很有用,要是哪位大大能

写个初级教程就好了!五。rom常见

的系统配置文件。

修改这些文件可以调整系统设置

1。\system\etc\spn-conf.xml:显示

营运商的

例如

<?xml

version=“1.0“encoding=“utf-8“?>

<spnoverrides>

<spnoverride

numeric=“46001“

spn=“中国联通“/>

<spnoverride

numeric=“46000“

spn=“中国移动“/>

<spnoverride

numeric=“46002“

spn=“中国移动“/>

</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|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,

12800“>/sys/module/

lowmemorykiller/parameters/

minfree

其中的数字从左到右为:前台进程、

可见进程、次要服务、后台服务、内

容供应节点、空进程,其中的数值的

单位是4k,也就是说1536 :

4k*1536=6144k=6m4。 \system\etc

\apns-conf.xml:和网络接入点设置

有关

例如,和移动联通有关的设置

<apn carrier=“中国移动

(internet)

“apn=“cmnet“mcc=“460“mnc=“00“

type=“default,supl“/>

<apn carrier=“中国移动 (wap)

“apn=“cmwap“proxy=“10.0.0.172“

port=“80“mcc=“460“mnc=“00“type

=“default,supl“/>

<apn carrier=“中国移动

(mms)

“apn=“cmwap“mmsc=“http://

mmsc.monternet.com“mmsproxy

=“10.0.0.172“mmsport=“80“mcc=“

460“mnc=“00“type=“mms“/><apn

carrier=“中国联通

(internet)

“apn=“3gnet“mcc=“460“mnc=“01“

type=“default,supl“/>

<apn carrier=“中国联通 (wap)

“apn=“3gwap“proxy=“10.0.0.172“

port=“80“mcc=“460“mnc=“01“type

=“default,supl“/>

<apn carrier=“中国联通

(mms)“apn=“3gwap“mmsc=“http://

mmsc.myuni.com.cn“mmsproxy=“

10.0.0.172“mmsport=“80“mcc=“

460“mnc=“01“type=“mms“/>

<apn carrier=“中国移动 (internet)

“apn=“cmnet“mcc=“460“mnc=“02“

type=“default,supl“/>

<apn carrier=“中国移动 (wap)

“apn=“cmwap“proxy=“10.0.0.172“

port=“80“mcc=“460“mnc=“02“type

=“default,supl“/>

<apn carrier=“中国移动 (mms)

“apn=“cmwap“mmsc=“http://

mmsc.monternet.com“mmsproxy

=“10.0.0.172“mmsport=“80“mcc=“

460“mnc=“02“type=“mms“/>如果

rom中没有自带apn设置,可以在这个

文件中加入,如果rom中显示的接入

点名称不是中文也可以通过修改这个

来实现

注意:

1. 修改rom时最好不要解压缩,直接

在winrar中*作,因为rom应该是在

linux中压缩的,压缩格式可能会和在

weindows下直接用winrar压缩出来

的不同。

2. 包中的文件不要有中文文件名

3. 刷机前一定要备份,修改的rom要

是有什么地方弄错了很容易进不了系

统

六。无google套件google地图定位补

丁下载gapps的刷机包,

复制下述文件到rom中的对应目录即

可:

\data\app_s\networklocation.apk

\system\framework

\com.google.android.maps.jar

\system\etc\permissi**

\com.google.android.maps.xml

最后一步“签名“

修改完rom后最后一步就是签名了,

其实签名很简单,下载签名工具,把

修改好的rom改名为*.zip,放在签名

工具的目录中,执行签名工具中的

sign.bat,等一会会生成一个updata_

signed.zip的文件,这个就是签名好的

rom了。之后就可以开始刷机,享受

自己的劳动成果了。

运行签名工具需要有java环境,网络

上下载jdk,安装ok

好了梦友们,想制作专属自己rom的

梦友可以试试。

所有的教程复制完了,纯手机复制,

本文来自艾网。

因为有个友友让我不设置回复,我就

改过来了。

现在是没有回复可见的呢!

登录回复

登录后可以回复这个帖子。旧账号可使用原密码登录。

登录 注册新号
← 返回版块