加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Android模拟器镜像文件介绍(转载)

(2017-12-17 10:51:42)
分类: android系统及内核
http://blog.csdn.net/pathfinder163/article/details/5773143

 

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 *

http://www.devdiv.net/blog/attachment/201005/22/1_1274512347yIee.png
我看可以看到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,执行結果如下:

http://www.devdiv.net/blog/attachment/201005/22/1_1274512391ICHE.png
我們可以看到ramdisk.img mount到/,init init.rc init.goldfish.rc都在/目錄下。
而/system就是system.img mount後的目錄,/data 就是userdata-qemu.img mount後的目錄,大家可以進入看看內容。

我們也可以在terminal中運行mount命令查看文件系統mount情況

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有