*
* emulator -netspeed 14.4 80
要想在模拟器运行中动态改变网络传输速度,需要连接上控制台使用netspeed命令,后 面跟合法的< speed>值。下表中列出了合法的< speed>值
* network speed 14.4 80
< speed>值的格式为下面的一种(单位为kb/s):
值 描述 注释
gsm GSM/CSD (Up: 14.4, down: 14.4)
hscsd HSCSD (Up: 14.4, down: 43.2)
gprs GPRS (Up: 40.0, down: 80.0)
edge EDGE/EGPRS (Up: 118.4, down: 236.8)
umts UMTS/3G (Up: 128.0, down: 1920.0)
hsdpa HSDPA (Up: 348.0, down: 14400.0)
full 无限制 (Up: 0.0, down: 0.0)
< num> 设置一个上行和下行公用的准确速度
< up>:< down> 分别为上行和下行设置准确的速度
电话功能模拟
Android模拟器拥有自己的GSM模块允许你在模拟器上模拟电话功能。例如,你可以模拟打入电话和建 立/终止数据连接。Android系统模拟电话呼叫跟真实情况一样。这个版本暂不支持电话录音。
你可以通过控制台访问模拟器的电话功能。连接上控制台后,你可以使用
* gsm < call|data|voice>
来调用电话功能。
gsm命令支持下表列出的子命令。
子命令 描述 注释
call < phonenumber> 模拟来自电话号码为< phonenumber>的呼叫
voice < state> 修改GPRS语音连接的状态为< state> 合法的< state>值为:
unregistered — 无可用网络home — 处于本地网,无漫游roaming — 处于漫游网searching — 查找网络denied — 仅能用紧急呼叫off — 同’unregistered’on — 同’home’
data < state> 修改GPRS数据连接的状态为< state>. 合法的< state>值为:
unregistered — 无可用网络home — 处于本地网,无漫游roaming — 处于漫游网searching — 查找网络denied — 仅能用紧急呼叫off — 同’unregistered’on — 同’home’
使用模拟器皮肤
你可以让模拟器使用下表介绍的4种皮肤之一。要想指定皮肤,在启动模拟器是使用-skin < skinID>选项。
例如:
* emulator -skin HVGA-L
注意:< skinID> 必须用大写(如果你的开发设备大小敏感)。
皮肤ID 描述
QVGA-L 320×240, 横屏 (默认)
QVGA-P 240×320, 竖屏
HVGA-L 480×320, 横屏
HVGA-P 320×480, 竖屏
运行多个模拟器实例
如果必要的话,你可以同时运行多个模拟器实例。每个模拟器实例使用独立的用户数据内存和不同的 控制台端口。这令你可以独立的管理每一个模拟器实例。
然而,如果你要运行多个模拟器实例,请注意每个实例存储跨会话的持久用户数据的能力—用户 设置和安装的应用程序—会受限制。具体如下:
* 只有第一个模拟器实例能根据会话保存用户数据。默认情况下它把用户数据保存在开发设备 的~/.android/userdata.img (on Linux and Mac) 或 Cocuments and Settings< user>Local SettingsAndroiduserdata.img (on Windows)文件里。你可以 在启动模拟器时使用-data选项来控制用户数据的存储(和加载)位置(请参考启动选项)。
* 在第一个实例后启动的模拟器实例(并行的)在会话过程中也保存用户数据;但它们but they 不 为下一个会话保存它。这些实例将数据保存在临时文件中,当实例退出时,相应的临时文件会被删 除。
在模拟器上安装应用程序
要想在模拟器上安装应用程序安装,要用到adb工具。
注意:模拟器通过重启保存用户设置和安装的程序。默认情况下,模拟器将数据保存在开发设备的一 个文件里。在Linux和Mac操作系统下,模拟器将用户数据报讯在~/.android/userdata.img 。在Windows下,模拟器将数据保存在Cocuments and Settings< user>Local SettingsAndroiduserdata.img。模拟器用userdata.img文件的内容作为data/的 目录。
SD卡模拟
你可以创建磁盘镜像并在模拟器启动时加载它,来模拟设备中用户的SD卡。下面的章节将介绍如何创 建磁盘镜像、如何向磁盘镜像像拷贝文件和如何在模拟器启动时加载镜。
注意:只能在模拟器启动是加载磁盘镜像。同理,模拟器运行时不能移除SD卡。然而,你可以通过adb 或模拟器浏览、发送、拷贝和删除模拟SD卡上的文件。
同时还要注意,模拟SD卡的大小不能超过2GB。
创建磁盘镜像
你可以用SDK中的mksdcard工具来创建可以在模拟器启动时加载的FAT32磁盘镜像。你可以在SDK的
tools/目录下找到mksdcard,用下面的命令船检磁盘镜像:
* mksdcard < size> < file>
*
* 例句:
*
* mksdcard 512M SD.IMG //这样就会在tools目录下生成一个512M的sd.img文件
*
* 启动一个带有SD卡的模拟器:
*
* emulator -avd g2 -sdcard sd.img //g2是先前设置好的AVD名称
*
拷贝文件到磁盘镜像
一旦你创建了一个磁盘镜像,你就可以在模拟器加载它之前拷贝文件到镜像中。要拷贝文件,你可以将镜像加载为循环设备然后向里面拷贝文件,或者你可以使用mtools工具包中的mcopy直接将文件拷贝到镜像中。mtools包在Linux、Mac和Windows下均可用。
在模拟器启动时加载磁盘镜像
要想在模拟器中加载FAT32格式的磁盘,启动模拟器时带上-sdcard标记并指定镜像的名 称和路径(相对于当前工作目录):
* emulator -sdcard < filepath>
故障排除
adb工具把模拟器当成是一个真实的物理设备。因此,你需要在使用adb命令?例如 install?时加上-d标记。-d 标记允许你在众多连接设备中指定使用哪一个设备作为命令 的目标。如果不指定-d,模拟器会选择列表中的第一个设备。向了解更多关于adb的信息,请参考 Android Debug Bridge。
对于运行在Mac OS X上的模拟器,如果你在启动模拟器时遇到”Warning: No DNS servers found”错误,请查/etc/resolv.conf文件是否存在。如果不存在,请在命令窗口中运行下面的命令 :
* ln -s /private/var/run/resolv.conf /etc/resolv.conf
模拟器的限制
这一版的模拟器存在如下限制:
* 不支持呼叫和接听实际来电;但可以通过控制台模拟电话呼叫(呼入和呼出)
* 不支持USB连接
* 不支持相机/视频捕捉
* 不支持音频输入(捕捉);但支持输出(重放)
* 不支持扩展耳机
* 不能确定连接状态
* 不能确定电池电量水平和交流充电状态
* 不能确定SD卡的插入/弹出
* 不支持蓝牙