Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1812532
  • 博文数量: 241
  • 博客积分: 9862
  • 博客等级: 中将
  • 技术积分: 5206
  • 用 户 组: 普通用户
  • 注册时间: 2005-02-18 23:23
文章分类
文章存档

2011年(14)

2010年(61)

2009年(48)

2008年(118)

我的朋友

分类: LINUX

2010-04-16 19:08:14

前四个月一直忙于coding android application,对它的emulator关心甚少,今天有空就读读developer web上那篇关于android emulator的介绍。

  1. android的emulator实际上就是QEMU,平常它在tools目录下,以ophone sdk 1.5为例

    D:\Program Files\OPhoneSDK_1.5.beta\tools>ls -lrt
    总 用量 14972
    -rw-rw-rw-  1 chenjian 0   132901 2009-10-22 01:34 NOTICE.txt
    -rw-rw-rw-  1 chenjian 0     3391 2009-10-22 01:34 add-accounts.py
    -rwxrwxrwx  1 chenjian 0  1647342 2009-10-23 10:45 sqlite3.exe
    -rwxrwxrwx  1 chenjian 0    28474 2009-10-23 10:45 mksdcard.exe
    -rwxrwxrwx  1 chenjian 0    30963 2009-10-23 10:45 hprof-conv.exe
    -rwxrwxrwx  1 chenjian 0   992202 2009-10-23 10:45 fastboot.exe
    -rwxrwxrwx  1 chenjian 0 10195779 2009-10-23 10:45 emulator.exe
    -rwxrwxrwx  1 chenjian 0   118699 2009-10-23 10:45 dmtracedump.exe
    -rw-rw-rw-  1 chenjian 0   106496 2009-10-23 10:45 AdbWinApi.dll
    -rwxrwxrwx  1 chenjian 0  1981054 2009-10-23 10:45 adb.exe
    -rwxrwxrwx  1 chenjian 0    43700 2009-10-23 10:45 acp.exe
    -rwxrwxrwx  1 chenjian 0     1431 2009-10-23 10:45 traceview.bat
    -rwxrwxrwx  1 chenjian 0     1397 2009-10-23 10:45 hierarchyviewer.bat
    -rw-rw-rw-  1 chenjian 0     1360 2009-10-23 10:45 draw9patch.bat~
    -rwxrwxrwx  1 chenjian 0     1612 2009-10-23 10:45 ddms.bat
    -rwxrwxrwx  1 chenjian 0     1434 2009-10-23 10:45 apkbuilder.bat
    -rwxrwxrwx  1 chenjian 0     1739 2009-10-23 10:45 android.bat
    drw-rw-rw-  2 chenjian 0        0 2009-11-17 11:37 lib
    drw-rw-rw-  2 chenjian 0        0 2009-11-21 11:47 ophone
    -rwxrwxrwx  1 chenjian 0     1364 2009-12-24 09:37 draw9patch.bat
    -rwxrwxrwx  1 chenjian 0       58 2010-01-27 20:26 setenv.bat

  2. SDK中的guest arch是ARM,这也和QEMU support的target CPU现状有关,ARM target的user和system emulator support是全部OK的
    image
  3. SDK中os是一个运行在ARM上的 linux,所以kernel code也是ARM machine code,native library应当也是arm machine code,至于Davvik VM,Android FrameWork和preinstalled application是不是俺现在就不知道了。QEMU使用dynamic binary translation技术,负责将这些ARM machine code将转换为host arch形式的
  4. 使用emulator
    和使用紧紧相连的是 avd,android virtual device,一个avd指定了该emulator启动时要读取的配置文件,当然avd还是独立设备,即它有自己的私有存储,比如user data,sd card等等。
    和avd相关的文件目录是     C:\Documents and Settings\\.android\avd
    使 用命令   android create avd -n -t [-
  5. 关于emulator的disk images
    很多disk images在emulator中被使用,比如包含kernel,android system的image,ramdisk image,userdata image等等
    在这个目录D:\Program Files\OPhoneSDK_1.5.beta\platforms\android-1.5\images下,我们可以看见

    D:\Program Files\OPhoneSDK_1.5.beta\platforms\android-1.5\images>ls -lrt
    总用量 169064
    -rw-rw-rw-  1 chenjian 0    160168 2009-10-22 01:34 ramdisk.img                               ramdisk?
    -rw-rw-rw-  1 chenjian 0   1348104 2009-10-22 01:34 kernel-qemu                             linux kernel?
    -rw-rw-rw-  1 chenjian 0    306374 2009-10-22 01:34 NOTICE.txt
    -rw-rw-rw-  1 chenjian 0 123617472 2009-10-22 01:41 system.img                             android system?
    -rw-rw-rw-  1 chenjian 0   1142592 2009-10-22 18:38 opl.img                                    what is opl?
    -rw-rw-rw-  1 chenjian 0  14091228 2009-12-31 22:43 userdata.img                            Default Images
    -rw-rw-rw-  1 chenjian 0  32440320 2010-01-26 17:37 local.img                                  what is local?
    Default Images为base,系统会为AVD创建属于它自己的userdata.img
    然后还有Runtime Images,有两种:userdata-qemu.img和sdcard.img,userdata.img和userdata- qemu.img在AVD目录下均能找到
    关于sdcard的创建可以参考http://developer.android.com/intl/zh-CN/guide/developing/tools/emulator.html#sdcard
    另 外还有Temporary Images,我们就不关心啦,顾名思义就是临时的

  6. 另 外emulator提供了一些key command to control emulator behavior
    http://developer.android.com/intl/zh-CN/guide/developing/tools/emulator.html#controlling
    俺 比较喜欢numpad 7和9来switch portrait和lanscape

俺 比较关心的问题是,这些各种各样的images可以被某种工具打开来浏览他们的具体内容么?目前没有答案。。。

阅读(1501) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~