天天看点

Android的镜像文件(image)

1、ramdisk.img is a small partition image that is mounted read-only by the

kernel at boot time. It only contains /init and a few config files. It is

used to start init which will mount the rest of the system images properly

and run the init procedure. A Ramdisk is a standard Linux feature. It is made just for the Android and do special things to start up the Android system.

2、system.img is a partition image that will be mounted as /system and thus contains

all system binaries.

3、userdata.img is a partition image that can be mounted as /data and thus

contains all application-specific and user-specific data.

The build system generates these files, which can later be flashed to a real

device, however, the emulator uses them in a different way:

   - system.img is copied into a temporary file, which is used by the

   emulator session. So any change you make to / as root in the emulator are

   lost when the program exits

   - userdata.img is only used when you use -wipe-data. Instead, it uses

   ~/.android/userdata-qemu.img (on Unix) as the persistent /data partition

   image. Using -wipe-data simply copes the content of userdata.img into

   userdata-qemu.img

The main idea being that the emulator should not modify system.img and

userdata.img since they were generated as device images. However whether a

given system.img/userdata.img set of images will run on a real device

properly depends on how it was generated. For example I doubt that the ones

that come with the SDK would.