现在的位置: 首页 > 综合 > 正文

Android模拟器镜像文件介绍

2013年04月26日 ⁄ 综合 ⁄ 共 1332字 ⁄ 字号 评论关闭

 

1. 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情況

抱歉!评论已关闭.