模拟器运行时,有关的磁盘镜像包括三类:只读、可写、可写的临时文件
1.只读
模拟器运行时需要几个关键的只读镜像文件,他们一般都可以在模拟器的安装目录中/tools/lib/images中找到(这个也是缺省的-system目录),但也可以通过-system<dir>参数指定到其他目录中。
在<system>目录下,缺省应该有如下文件:
- kernel-qemu 模拟器的Linux内核镜像
- ramdisk.img 启动系统的ramdisk镜像
- system.img 初始化好的系统镜像
- userdata.img 初始化好的用户数据分区镜像
分别通过-kernel <file>,-ramdisk <file>,-image<file>,-initdata<file>来覆盖上述四个文件镜像
2.可写
在运行期,还需要使用到几个“可写”的镜像文件,他们可以在
C:/Documents and Settings/<user>/Local Settings/Application Data/Android/SDK-1.0目录下找到,但也可以通过-datadir<dir>指定到其他目录下:
- userdata-qemu .img 持久化/数据分区镜像文件,可以通过-data<file>指定到别的文件,如果指定的文件不存在,会新创建一个(从<system>/userdata.img 拷贝而来)。也可以使用-wipe-data将当前的userdata-qemu .img 回复到出厂设置(及系统目录下的userdata.img )。
- sdcard.img 可选的SD卡分区镜像文件,通过-sdcard<file>指定到别的文件,可以通过SDK带的’mksdcard’工具创建一个新的镜像文件。如果file不存在,会忽略,这样模拟器启动时就没有关联上SD卡。
3.可写的临时文件
最后是一些运行期的“可写、临时”的镜像文件,包括:
- 可写的系统镜像:在模拟器启动时,从只读的<system>/system.img 拷贝而来,模拟器生命周期内可以写,在模拟器退出时删除。没有办法持久化其运行期的变化。
- /cache缓存分区镜像 初始化为空,他是被浏览器用来缓存下载的页面和图片的。可以使用-cache<file>使之持久化。如果file不存在,他会创建一个空文件,用完删除。如果需要禁用cache可以使用模拟器的-nocache选项
http://www.javaeye.com/topic/280666