转载.android 文件系统的提取方法(1)
2012-07-04 10:23
253 查看
有很多方法可以制作提取Android的文件系统,今天我给大家讲一下如何从make完成的source code中把文件系统提取出来。
在编译完成的android源码目录中,文件系统的存放位置是:source/out/target/product/generic/
1、Android文件系统的结构
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目录下。
2、分离Android文件系统出来
system.img,ramdisk.img,userdata.img映像文件是采用cpio打包、gzip压缩的,可以通过file命令验证:
root@linux-home:~/kernel/out/target/product/generic# file ramdisk.img
ramdisk.img: gzip compressed data, from Unix
Android源码编译后除了生成system.img,userdata.img之外还生成system和 userdata文件夹,因此不需要解压它们。Android源码编译后还生成root文件夹,其实root下的文件与 ramdisk.img 里的文件是一样的,不过这里还是介绍怎样把 ramdisk.img解压出来:
将ramdisk.img复制一份到任何其他目录下,将其名称改为ramdisk.img.gz,再用gunzip命令将其解压,操作如下
//将ramdisk复制到当前工作目录
root@linux-home:~# cp kernel/out/target/product/generic/ramdisk.img ./
root@linux-home:~# ls
android2.3.6-source.tar.bz2 Documents overview.png qt-book-examples.tar.gz
android_fs_rjm.tar.bz2 Downloads Pictures ramdisk.img
bin kernel Public Templates
Desktop Music qt-book Videos
//将其命名为ramdisk.img.gz
root@linux-home:~# mv ramdisk.img ramdisk.img.gz
//用gunzip解压
root@linux-home:~# gunzip ramdisk.img.gz
接下来,建立一个叫ramdisk的文件夹,进入,输入以下命令
cpio -i -F ../ramdisk.img
然后 ls
过程如下:
root@linux-home:~# cd ramdisk
root@linux-home:~/ramdisk# ls
root@linux-home:~/ramdisk# cpio -i -F ../ramdisk.img
456 blocks
root@linux-home:~/ramdisk# ls
data dev init.goldfish.rc proc sys ueventd.goldfish.rc
default.prop init init.rc sbin system ueventd.rc
至此我们已经可以看到文件系统的内容了。
最后,把Android源码编译后生成的system和 userdata里的文件复制到 ramdisk/system和 ramdisk/userdata下。这样就得到一个文件系统了。你就可以用nfs或者别的方式去挂载文件系统了。
在编译完成的android源码目录中,文件系统的存放位置是:source/out/target/product/generic/
1、Android文件系统的结构
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目录下。
2、分离Android文件系统出来
system.img,ramdisk.img,userdata.img映像文件是采用cpio打包、gzip压缩的,可以通过file命令验证:
root@linux-home:~/kernel/out/target/product/generic# file ramdisk.img
ramdisk.img: gzip compressed data, from Unix
Android源码编译后除了生成system.img,userdata.img之外还生成system和 userdata文件夹,因此不需要解压它们。Android源码编译后还生成root文件夹,其实root下的文件与 ramdisk.img 里的文件是一样的,不过这里还是介绍怎样把 ramdisk.img解压出来:
将ramdisk.img复制一份到任何其他目录下,将其名称改为ramdisk.img.gz,再用gunzip命令将其解压,操作如下
//将ramdisk复制到当前工作目录
root@linux-home:~# cp kernel/out/target/product/generic/ramdisk.img ./
root@linux-home:~# ls
android2.3.6-source.tar.bz2 Documents overview.png qt-book-examples.tar.gz
android_fs_rjm.tar.bz2 Downloads Pictures ramdisk.img
bin kernel Public Templates
Desktop Music qt-book Videos
//将其命名为ramdisk.img.gz
root@linux-home:~# mv ramdisk.img ramdisk.img.gz
//用gunzip解压
root@linux-home:~# gunzip ramdisk.img.gz
接下来,建立一个叫ramdisk的文件夹,进入,输入以下命令
cpio -i -F ../ramdisk.img
然后 ls
过程如下:
root@linux-home:~# cd ramdisk
root@linux-home:~/ramdisk# ls
root@linux-home:~/ramdisk# cpio -i -F ../ramdisk.img
456 blocks
root@linux-home:~/ramdisk# ls
data dev init.goldfish.rc proc sys ueventd.goldfish.rc
default.prop init init.rc sbin system ueventd.rc
至此我们已经可以看到文件系统的内容了。
最后,把Android源码编译后生成的system和 userdata里的文件复制到 ramdisk/system和 ramdisk/userdata下。这样就得到一个文件系统了。你就可以用nfs或者别的方式去挂载文件系统了。
相关文章推荐
- android系统备份----即提取system.img和boot.img的方法!(转载)
- android系统备份----即提取system.img和boot.img的方法!(转载)
- Android调用系统下载文件的方法,不跳浏览器
- Android开发工具之Android Studio--调用系统隐藏方法之操作aidl文件步骤
- 全面的Android文件目录解析和获取方法(包含对6.0系统的说明)
- 全面的Android文件目录解析和获取方法(包含对6.0系统的说明)
- (转载一些资料) Android打开各种类型的文件方法总结..........
- [转载]调用Android隐藏类(系统aidl文件)
- [转载]查看基于Android 系统单个进程内存、CPU使用情况的几种方法
- <转载>Android中调用系统所装的软件打开文件
- Android系统中的任意文件读写方法
- [转载] Android中Xposed框架篇---利用Xposed框架实现拦截系统方法
- 安装bash on windows卡在“正在提取文件系统,这将需要几分钟的时间”的解决方法
- 【转载】关于如何提取Exe文件中PPT源文件的几种方法
- Android中调用系统摄像并且保存到指定位置的一些问题&Uri转文件路径方法
- [转载]XP向windows 7传输文件时系统提示“服务器存储空间不足,无法处理此命令”故障的解决方法
- Android 系统中隐藏文件或文件夹的方法
- Android系统修改Hosts文件不起作用解决方法
- android下载编译以及文件系统提取总结
- 14、Android开发基础之通过系统提供的方法获取到保存文件的路径