rom 解析和制作,刷rom包

来源:互联网 发布:python如何清屏 编辑:程序博客网 时间:2024/04/28 02:46

制作Android ROM有两种方法:

  • 编译Android源代码的方法,这个比较复杂,以后再介绍;
  • 在已有的ROM基础上制作或者叫定制自己的ROM。

本文介绍的是在已有ROM基础上的定制步骤。

我这里使用的机器是Nexus One,于是下载了第三方的ROM,这里以安卓农夫ROM 2.4为基础。当然也可以用CyanogenMod提供的ROM,实际上安卓农夫的ROM就是在该ROM基础上做的定制。

解压缩ROM,比如安卓农夫ROM 2.4文件名为:

n1_2.4_signed 2.zip

解压缩后,可以看到目录中:

  • boot.img文件,这是系统的镜像,包括Linux内核以及系统启动的一些基本文件。
  • META-INF目录,这里主要有系统更新脚本,路径是:META-INF/com/google/android/updater-script
  • system/app目录,系统自带的应用程序都放在这个目录下,比如日历、联系人、gmail等,你可以把自己的apk文件放在该目录下,这样就可以在刷ROM的时候直接安装上
  • system/bin目录,系统命令,可以通过adb shell登录后执行,比如top
  • system/etc目录,类似linux的/etc目录
  • system/font目录,字体
  • system/framework目录,android框架,是java实现,在dalvik虚拟机下支持用户java开发的框架
  • system/lib目录,android本地共享库,都是so文件,是c、c++编译的本地共享库
  • system/media目录,一些媒体文件,比如bootanimation.zip,压缩包里面是一些png图,用于开机动画,替代这些可以改变开机画面,audio目录下是一些声音文件,用于铃声和通知等

其实,本文介绍的定制ROM主要步骤是如何将解开的ROM打包签名,如果只是打包回zip,android是不认的,recovery的时候会在校验ROM包的时候报错。

在将自定义的apk文件放在system/app目录下后,还可以改动比如开机画面,增加自定义铃声,增加命令(在system/bin下)等,然后还是要打包回zip文件。

然后,需要使用签名工具对zip包做签名,签名工具可以在:

http://androidforums.com/developer-101/8665-how-signing-roms.html

下载。需要注册用户登录才能下载。下载的工具是windows下执行的。

运行:

autosign.bat

第一次需要设置CLASS_PATH,将testsign.jar加进去,设置过程很简单,首先要输入2:

image

然后它会猜你的testsign.jar就在当前目录下,因此输入yes:

image

然后选择4,手工输入需要签名的ROM路径,然后输入yes,就可以了:

image

签名过程需要一段时间,需要耐心等待,签名后并不生成新的文件,是通过修改原文件完成的。

原文转自:http://marshal.easymorse.com/archives/3622


///////////////////////////////////////////////////////////////////////////////////////////////

 第一步:首先我们要有一个ROM.不管是官方还是第三方ROM,都是.zip的压缩.如下图

 
第二步:我们打开压缩(已TSM小组做的双4.0ROM为例),见下图

 
我们可以看到,压缩内有3个文件夹外加一个boot.img
其中:
data文件夹为应用程序所在的文件夹,我们直接下载的APK安装在内存卡上时,都是安装在data文件夹下的,该文件夹内的程序都可以直接卸载的.
meta-info文件夹为签名文件夹,什么是签名文件夹我会在后面的教程写出来.
system为系统程序文件夹,比如htc sense等一些无法卸载只能用ROOT后用RE删除的都在这里,大家应该都不陌生了,我们主要的工作目标都在这个system文件夹内
boot.img这个是内核文件,勿动.
 
第三不:我们进入system文件夹看看.

 
app文件夹:系统程序文件都在这里,我们删除一些系统自带程序都是用re来这里删除,具体不解释了.
如果我们需要精简自动自带程序,可以直接在压缩内选中app文件夹下的.apk文件及相应的.odex文件即可
PS:2.3.5的rom没有.odex文件,4.0系统引入odex文件.
如果我们想添加一些程序到系统程序内,则直接把.apk及.odex文件拖到压缩内app文件夹即可.
PS:在4.0下,有些程序不把.odex一起放到app文件夹内,会造成程序无法使用.关于.odex文件我也还在研究中,就不多说什么了.
bin文件夹:这里比较复杂,对于.net程序员,bin文件夹应该不陌生,我们的dll文件都在bin里面,这里的bin你也可以这么理解,正常我们不动他,比如busybox就是放在这里的.
customoze:用户自定义设置的地方,建议没有xml知识和一定汇编语言知识这里勿动.比如开机画面,开机音乐甚至含一些输入法切换设置等都可以在这里修改xml文件进行修改.
etc:不详...不用动
fonts:字体文件夹
主要是这两个   DroidSans.ttf 以及 DroidSansFallback.ttf,其中DroidSans.ttf为英文字体,DroidSansFallback.ttf为中文字体,我们只需要把找到的合适的字体文件修改为这两个文件名,然后拖到压缩内字体文件夹下即可完成字体替换的工作.
frameworks:看名字很像是框架结构文件夹,如我们修改的电池电量显示都在这里.正常不动.
lib:还在研究.....不动.
media:系统自带的铃声,短信声等媒体文件都在这里了.
进入audio文件夹我们可看到如下文件夹:

 
alarms:闹钟
ringstone:来电铃声
notifications:通知音
ui:锁屏音,触摸音等系统UI的声音都在这
我们可以把自己喜欢的铃声等直接拖到压缩相应文件夹内即可
比放在卡内的好处就是,当你挂载手机内存卡的时候,来电铃声等不会恢复默认.
 
tts:多语言支持(应该是)
一下还有另外4个文件夹,我们都不动了....主要修改就在以上.
 
写到这里,大家应该基本了解我们应该如何精简ROM了吧.
 
下面是一些个性化设置
1:修改开关机画面及铃声
进入customize文件夹---CID---default.xml
可以选中default.xml然后点解压缩,这样只会解压出default.xml这一个文件.使用记事本打开(本人使用vs2010,都是一样的)
直接在记事本内按ctrl+f,在弹出的查找窗口里输入BootAnimation查找到如下代码

 
 
 
  1. <BootConfiguration> 
  2.                 <BootAnimation animation="/system/customize/resource/hTC_bootup.zip" audio="/system/customize/resource/htc_boot.mp3"/> 
  3.         </BootConfiguration> 
  4.         <ShutdownConfiguration> 
  5.                 <ShutdownAnimation image_png="/system/customize/resource/htc_downanimation.zip" image="" fps="10"/> 
  6.         </ShutdownConfiguration> 
其中bootanimaion为开机,我们可通过修改后面animation的内容改变开机画面(可从别的rom提取压缩),audio为开机音乐.HTC默认将开关机的画面及音乐放在system/customize/resource文件夹内
shutdownanimation为关机,image_png为关机画面文件,fps为关机画面帧数.
以上修改不建议修改开关机文件所放置的位置,我们正常将别的rom提取的开关机画面的.zip压缩直接重命名后丢到resoource文件夹下.
另外:如果不想要开关机动画也请勿删除以上代码,可以直接将htc_bootup.zip这里改名为一个不存在的文件即可.如htc_bootupxxx.zip.
default.xml的修改就到此为止,熟悉xml代码的好好看看这个,可以发现不少好玩的东东哦.
 
精简完系统自带文件,又修改好开关机画面,现在还差啥?没错,就是关于里面的软件版本信息了,如果你看到一个你的软件版本叫做"刺魂专用",那可是相当刺激的事情
 
我们进入system文件下,往最下方看,有没看到一个build.prop

 
把buuld.prop单独解压出来后用记事本或notepad+打开(这里我推荐使用notepad+,可自己下载一个,非常好哦那个,当然,由于本人有vs2010了,所以都用vs2010打开了)
通过ctrl+f查找
ro.build.version.release=4.0.3      (安卓版本,可修改成5.0内测版 )
ro.build.sense.version=4.0  (HTC SENSE版本,好吧...你又可以改为5.0内测版了)
ro.product.version=TSM UltimeKangBang 3.0.1   (软件版本,好吧,这里为刺魂大大万岁专用版)
 
主要就说这3个就好了
其余的build.prop的内容可自己慢慢研究,可改的地方很多哦.
 
最后记得把修改后的build.prop丢回压缩覆盖原始文件.
 
PS:不同的ROM,这个build.prop的地方也不一样,比如我原来VC官方RUU提取的rom,build.prop就在根目录下.system没找到的其他地方好好找找哦.
 
如上,当你把以上几个地方都自行修改完,那么一个你自制的个性化ROM就出来了.

原创粉丝点击