您的位置:首页 > 移动开发 > Android开发

android文件系统system-ramdisk-userdata三者之间的关系

2014-02-15 12:30 876 查看
android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。 
其中, ramdisk.img是emulator的文件系统, 
system.img包括了主要的包、库等文件。 
userdata.img包括了一些用户数据。 
emulator加载这3个映像文件后,会把 system和 userdata分别加载到 ramdisk文件系统中的system和
userdata目录下。 

因此,我们可以把ramdisk.img里的所有文件复制出来,system.img和userdata.img分别解压到 ramdisk文件系统中的system和 userdata目录下。 

system.img,ramdisk.img,userdata.img映像文件是采用cpio打包、gzip压缩的, 
可以通过file命令验证:file ramdisk.img   
输出:  
ramdisk.img: gzip compressed data, from Unix, last modified: Wed Mar 18 17:16:10 2009  

Android源码编译后除了生成system.img,userdata.img之外还生成system和 userdata文件夹, 
因此不需要解压它们。Android源码编译后还生成root文件夹, 
其实root下的文件与 ramdisk.img 里的文件是一样的。 

不过这里还是介绍怎样把 ramdisk.img解压出来: 
将ramdisk.img复制一份到任何其他目录下,将其名称改为ramdisk.img.gz,并使用命令  
gunzip ramdisk.img.gz  
然后新建一个文件夹,叫ramdisk吧,进入,输入命令  
cpio -i -F ../ramdisk.img  
这下,你就能看见并操作ramdisk里面的内容了, 
然后把Android源码编译后生成的system和 userdata里的文件复制到 ramdisk/system和 ramdisk/userdata下。 

这样就得到一个文件系统了。

我的实际操作:

利用手机解压img的,如附件:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐