Android_Rom修改过程学习S么
一、 背景和基础知识介绍
关于Android手机系统文件的组成,在教程《如何解包/编辑/打包boot.img文件 》中有比较详细的介绍。
Android手机的文件系统有许多存储器组成,以下是在adb shell下面的输出:
#cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00020000 "misc"
mtd1: 00500000 00020000 "recovery"
mtd2: 00280000 00020000 "boot"
mtd...
S么
一、 背景和基础知识介绍
关于Android手机系统文件的组成,在教程《如何解包/编辑/打包boot.img文件 》中有比较详细的介绍。
Android手机的文件系统有许多存储器组成,以下是在adb shell下面的输出:
#cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00020000 "misc"
mtd1: 00500000 00020000 "recovery"
mtd2: 00280000 00020000 "boot"
mtd3: 04380000 00020000 "system"
mtd4: 04380000 00020000 "cache"
mtd5: 04ac0000 00020000 "userdata"
注意,不同的手机在上述存储设备的顺序可能会各不相同!一定要检查您的手机,确定在以下的操作中选择正确的设备号(mtdX,这个X的序号一定要检查清楚)。
在本向导中,我们主要描述对"recovery"和"boot"的存储设备进行操作;"system"存储设备保存了android系统目录的所有数据(在系统启动后会挂载到“system/”目录);“userdata”存储设备将保存了android数据目录中的所有数据(在系统启动后会挂载到“data/”目录,里面是会有很多应用数据以及用户的preference之类的配置数据)。
从上面的输出可以看出来,recovery和boot分区对应着/dev/mtd/mtd1和/dev/mtd/mtd2,在你您开始做任何修改之前一定要做两件事情,第一件事情,一定要先对这两个分区进行备份。
可以使用如下命令进行备份:
# cat /dev/mtd/mtd1 > /sdcard/recovery.img
# cat /dev/mtd/mtd2 > /sdcard/boot.img
(注意added by lxros,只有手机获取了ROOT权限以后才能够执行上述的备份命令,手机中的超级终端可以操作)
第二件事情,你您应该把你您最喜欢的update.zip刷机包放置到你您的sd卡的根目录上面。如此一来,即使你您在后续的操作中出了问题,也可以启动到recovery模式进行恢复。
另外一个你需要知道的重要文件是在android系统目录下的/system/recovery.img,此文件是mtd1存储设备的完全拷贝。这个文件在每次关机的时候,会自动地被写回到mtd1存储设备里面。
这会意味着两个事情:
(1)任何对/dev/mtd/mtd1中数据的直接修改都会在下一次重启手机以后消失。
(2)如果希望对/dev/mtd/mtd1进行修改,最简单的做法是用你您自己的recovery.img替换掉/system/recovery.img。当你您创建自己的update.zip刷机包的时候(特别是在做刷机包的适配的时候),如果你您忘记替换这个/system/recovery.img,这个recovery.img就会在关机的时候被烧写到mtd1里面去或许会变砖。一定要注意这一点!
(译者的话,关于这个/system/recovery.img文件,在2.1的android的平台里面并没有找到,或许这个机制已经out了?!或者偶本人对这段话的理解不够深入?!希望明白的朋友不吝斧正)
至此,我们可以
一下
1. Rom一般保护以下内容:
Boot.img:在Rom的根目录下。
Recovery.img:应该在/system目录下。但是现在V880的rom中没有,何解???(是2.1以后的rom机制都改变了??)每次开机都被写入/dev/mtd/mtd1,如果文件错误不合适就变砖。
二、 Rom的修改
本文摘自《【自订ROM教程】中兴x876自订ROM教程 menglei3684》,除了我自己的意见会写【在编者注】,其他文件和图片都来自原文。
本教程主要针对中兴x876_Android2.1手机rom的修改过程进行一下详细的讲述,旨在为广大有兴趣自制rom机友们提供依据与工具。
本教程以从简到难为讲述顺序,具体顺序如下:
第一步:system.img的修改-此部分为系统的核心系统文件镜像,大部分库文件、系统应用程序、配置文件存放于此镜像文件中,对其修改可以达到系统应用程序自订、开机动画与音乐的修改、系统主题的修改、系统字体修改等操作。
第二步:boot.img的修改-此部分为系统内核与ramdisk文件镜像现阶段暂时处于不成熟阶段,在此为大家提供理论依据以及修改的方法及工具,为以后打下基础,对其修改可以达到取消还原机制实现app2sd、修改开机第一幅与第二副画面等操作。
第三步:recovery.img的修改-此部分暂时还在摸索阶段,修改方法与boot.img相同。
中兴x876-ROM修改
2.1 第一步:system.img的修改
此部分为系统的核心系统文件镜像,大部分库文件、系统应用程序、配置文件存放于此镜像文件中,经过多次尝试,对原厂ROM中的system.img文件进行修改后打包刷机不成功,
原因为重组文件时地址出错,所以采用备份手机中未修改过的system文件夹进行修改,实践证明此方法的成功率高于使用unyaffs解压修改的成功率。
2.1.1 system文件夹提取步骤:
首先将您的手机恢复出厂设置,或重新刷写原厂ROM(强烈建议刷原厂ROM),然后安装破解Root权限.apk获得root权限,不要重启,继续安装androidterm.apk超级终端软件,打开超级终端中输入以下命令
下载 (25.21 KB)
2010-10-6 09:46
$rootshell($为标记符,不须输入)。 输入rootshell后您即可获得root权限标记符变为“#”,在着急用户状态下输入以下命令得到system文件夹压缩文件,这里利用系统自带的busybox工具(system/bin/busybox)
#busybox tar zcvf sdcard/system.tar.gz system
等待压缩过程后,即可在sd卡根目录得到system.tar.gz文件,即为system的压缩文件。得到了system文件夹即可对其进行修改得到我们想要的system.img镜像文件。
2.1.2 system.img的修改
2.1.2.1 解压system
接下来来到Linux环境下,来实施具体的修改。
这里使用的Linux环境是在虚拟机下建立的,大家可以自行下载vmware精简版虚拟机来安装Linux系统,虚拟的配置这里就不多说了,大家自己查资料吧,我采用操作系统是fedora9,是从前做开发经常使用的环境,建议大家主选,这个系统包含了大部分可函数,出错概率小,不过Red Hat、Ubuntu也应该可以,大家可以自己尝试。
【在编者注】:在另一边教程《Andorid刷机包修改教程》只读打开有详细的Linux环境搭建教程。
将sd根目录下的system.tar.gz文件复制到虚拟机内,在Linux的root下打开终端,进入system.tar.gz存放的目录(这里我将system.tar.gz存放与opt/buckup下),输入以下命令,解压system.tar.gz。 #tar zxvf system.tar.gz
#tar zxvf system.tar.gz
解压完毕后,即可在opt/backup下得到system文件夹剩下的工作就是对具体的文件进行修改了。
2.1.2.2 System下文件夹的组成构造
可以看到,system文件夹下包括十个目录与一个配置文件,修改修改的主要是以下几个文件夹.
system/app文件夹-该文件夹存放的是系统自带的apk应用程序,可以删除和添加自己需要的apk程序。
system/lib文件夹-包含了大部分linux系统的库文件,需要特别说明的是,当您需要添加的apk中有需要包含的库时(以.so后缀),请将库文件放于此目录下,否则应用无法运行。
system/fonts文件夹-字体文件夹,可以更改自己喜欢的ttf字体重命名为DroidSansFallback.ttf后覆盖原文件即可。
system/framework文件夹-其中的framework-res.apk文件为系统核心文件,可以修改此文件达到更换开机动画的动作。
system/media文件夹-其中最主要的是包含开机音乐,可以选择自己喜欢的音乐剪切后替换即可。
2.1.2.3 主题和开机动画的修改方法
主题放与app下的Launcher2.apk中,开机画面放于从前的framework下的framework-res.apk,传统的方法是把apk后缀改为zip解压修改后签名再放回原有目录里,这里告诉大家一个简单的方法,只需要用winrar打开方式打开apk文件,将你想要修改的文件重命名为需要替换的文件拖进具体目录中替换即可,这样就省去了签名的麻烦。
例如修改开机画面如下操作:
右键framework-res.apk文件,在打开方式里选择winrar,即可看到文件结构,开机画面位于assets目录下的images中,其中ZTE_240X400_01.png到ZTE_240X400_25.png即为开机动画元素,把你已经做好的25幅png图命名为ZTE_240X400_01.png至ZTE_240X400_25.png然后突入压缩文件夹中替换原文件即可,再将修改好的framework-res.apk文件放于虚拟机中framework文件夹下。
2.1.2.4 重新打包。
打包使用附件中的mkyaffs2image工具,特别提示:打包必须使用我附件中的mkyaffs2image工具,其他的同名工具我使用了很多,刷机后不开机。具体步骤如下:
将mkyaffs2image放于opt文件夹下,在终端中执行以下命令:
#./mkyaffs2image system system.img
打包完成后即可在opt文件夹下看到修改后的system.img文件,将该文件复制出来替换\X876 平台,驱动,软件\115160B0910UNI_CN_X876 1.1\115160B0910UNI_CN_X876 1.1(下载)目录下的system.img文件,使用刷机工具刷机即可。
未完,待续……
2.2
下载次数:1
2010-10-6 09:44
三、
》
本文档为【Android_Rom修改过程学习】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。