Android模拟器镜像文件介绍

. Android模拟器采用的是开源工程Qemu,Qemu是Linux下的著名模拟器
2. kernel-qemu是内核镜像
3. ramdisk.img是文件系统,如果你自己编译了android的源代码,它的内容为 out/debug/target/product/generic/root,mount到android的/
4. system.img主要存放系统数据,android启动后mount到/system 它包含的内容为out/debug/target/product/generic/system
5. 一般来说我们不直接使用userdata.img,而是使用userdata_qemu.data,用来存放用户数据,可读写,android启动后mount到/data。只有使用-wipe-data参数启动模拟器是时候才会用到userdata.img,它会使用userdata.img的内容覆盖userdata-qemu.img userdata.img的内容为out/debug/target/product/generic/system
6. 如果您没有编译android的源代码,我们也可以知道ramdisk.img、system.img和userdata.img的内容。 1). 查看ramdisk.img内容 terminal中进入sdk的images目录,执行file *

 我看可以看到ramdisk是一个gzip文件,我们可以解压这个gzip文件,解压前先备份一下 然后在terminal中运行 localhost:images wuvincent$ gzip -d -S .img ramdisk.img 然后运行 localhost:images wuvincent$ file ramdisk 执行后会显示这个文件是一个cpio文件,于是我们可以把它解压到一个目录下,依次执行如下命令 localhost:images wuvincent$ mkdir ramdiskdir localhost:images wuvincent$ cd ramdiskdir localhost:ramdiskdir wuvincent$ cpio -idmv <../ramdisk 我们就可以进入ramdiskdir看到ramdisk.img的内容了。 其中最主要的几个文件时init init.rc init.goldfish.rc 2). 查看system.img和userdata-qemu.img內容 terminal中進入sdk的tools目錄下運行adb shell localhost:tools wuvincent$ adb shell adb server is out of date.  killing... * daemon started successfully * # 然後運行cd /和ls -l,執行結果如下:

 

 我們可以看到ramdisk.img mount到/,init init.rc init.goldfish.rc都在/目錄下。 而/system就是system.img mount後的目錄,/data 就是userdata-qemu.img  mount後的目錄,大家可以進入看看內容。
我們也可以在terminal中運行mount命令查看文件系統mount情況。
posted @ 2013-04-07 10:35  坏混混  阅读(1285)  评论(0)    收藏  举报