启动模拟器的几种方式

通过

emulator  -help-sdk-images可以详细了解SDK中 AVD 镜像信息

emulator -help-disk-images可以详细了解源代码

模拟器的镜像文件

基本IMG

    kernel-qemu    
    ramdisk.img      the ramdisk image used to boot the system
    system.img       the *initial* system image
    userdata.img     the *initial* data partition image
可写IMG

    userdata-qemu.img  the persistent data partition image
    system-qemu.img    an *optional* persistent system image
    cache.img          an *optional* cache partition image
    sdcard.img         an *optional* SD Card partition image

    snapshots.img      an *optional* state snapshots image

根据指定IMG文件的方式不同,模拟器的启动方式有以下几种:

一。SDK 方式:

1)首先,新建AVD。

2)通过 AVD name启动。如emulator -avd pad. 或者 emulator @pad

Eclipse应该是通过ADT使用这种方式启动模拟器的。

IMG文件在SDK的platform/add-on位置上。


二 。android源码方式

使用android源码方式时,需要设置ANDROID_PRODUCT_OUT变量,此变量设置了镜像的路径,emulator启动时,自动寻找相应的IMG文件。

源码编译后的IMG文件,一般在out/target/product/generic;而内核镜像在 /prebuilt/android-arm/kernel/


使用源码生成的SDK时,运行android命令时,会报错指定ANDROID_SWT变量。解决办法见另外一编文章。

而后,直接输入emulator即可,使用当前的源码IMG运行一个无sd卡的AVD。

如果需要SD卡,则首先mksdcard -l mySdCard 1024M ~/mySdCardFile.img 创建SD卡,而后emulator -sdcard ~/mySdCardFile.img即可。

总之,以源码方式启动时,不要新建AVD,与sdk方式不能混淆。(实际上,也不能新建AVD,因为android list target 可知,当前没有可用targe)


这种方式,在启动emulator时,将IMG拷贝到临时目录,当emulator退出后,则删除次临时文件夹,所以不能持久化。

这些都是与SDK方式不同的。


三。自定义IMG文件路径方式

明确的指定各个IMG文件的路径。使用emulator命令的下述可选参数,指定各个IMG路径即可即可。

-sysdir, -datadir, -kernel, -ramdisk, -system, -data, -cache
  -sdcard and -snapstorage



你可能感兴趣的:(Androd,源码,image,android,system,swt,cache,list)