Android
模拟器ndroid
SDK
自带一个移动设备模拟器 — 它是一个可以运行在你电脑上的虚拟设备.
Android
模 拟器可以让你不需使用物理设备即可预览、
开发
和测试Android应用程序.
Android模拟器能够模拟除了接听和拨打电话外的所有移动设备上的典型功能和行为. 如右图所示, Android模拟器提供了大量的导航和控制键,你可以通过鼠标或键盘点击这些按键来为你的应用程序产生 事件. 同时它还有一个屏幕用于显示Android自带应用程序和你自己的应用程序.
为了便于模拟和测试应用程序, Android模拟器允许你你的应用程序通过Android平台服务调用其他程 序、访问网络、播放音频和视频、保存和**数据、通知用户、渲染图像过渡和场景.
Android模拟器同样具有强大的调试能力,例如能够记录内核输出的控制台、模拟程序中断(比如接受 短信或打入电话)、模拟数据通道中的延时效果和遗失。
下面的章节将提供关于模拟器的详细信息,以及如何在开发应用程序中使用模拟器。
启动和关闭模拟器
要启动Android模拟器,首先进入 SDK 的 tools/ 文件夹,然后输入 emulator 或 ./emulator 。这个操作将初始化Android系统,你将会在屏幕 上看到模拟器窗口。
要关闭模拟器,只需要关闭模拟器窗口即可。
操作模拟器
你可以通过模拟器的启动选项和控制台命令来控制模拟环境的行为和特性。一旦模拟器启动,你就可以通过键盘和鼠标来”按” 模拟器的按键,从而操作模拟器。
下面的表格总结了模拟器按键可键盘按键之间的映射关系。
模拟器启动选项
Android模拟器提供了很多启动选项,你可以在启动模拟器时指定,来控制其外观和行为。下面是用命 令行的方式启动模拟器并指定参数的语法:
下表总结了所有有效的选项。
使用模拟器控制台
每一个运行中的模拟器实例都包括一个控制台,你可以利用控制台动态的查询和控制模拟设备的环境 。例如,你可以利用控制台动态的管理端口映射和网络特性,还可以模拟电话时间。要想进入控制台输入 命令,你需要使用telnet连接到控制台的端口号。
你可以使用下面的命令随时随地连接到任何一个运行中的模拟器实例:
假设第一个模拟器实例的控制台使用5554端口,下一个实例使用的端口号会加2,比如5556、5558…… 等。你可以在启动模拟器是使用 -verbose 选项来检测该模拟器实例使用的端口号,在调试 输出的找到以”emulator console running on port number “这一行。 另外, 你可 以在命令行中使用 adb devices 来查看模拟器实例和他们的端口列表。最多可以有16个模拟 器实例同时运行控制台。
注意:模拟器**端口5554-5587的来自任何电脑的连接。将来发布的版本将只接受本 机的连接,但目前,你需要用防火墙阻断外部对你开发设备的5554-5587这些端口的连接。
一旦连接上控制台, 你可以输入 help [command] 来查看命令列表和指定命令的 教程 。
要离开控制台会话, 使用 quit 或 exit 命令。
下面的章节将介绍控制台的主要功能区域。
端口重定向
你可以在模拟器运行期间添加和删除端口重定向。连接上控制台后,你可以通过下面的方法管理端口 重定向:
支持下表列出的子命令:
网络状况
你可以利用控制台检测网络状况和当前延迟、加速特性。要想检测网络状态需要连接到控制台,使用 netstatus 命令。下面是命令和输出的例子。
网络延迟模拟
模拟器允许你模拟多种网络延迟等级, 因此你可以在更接近真实情况的环境下测试你的应用程序。你 可以在模拟器启动时设置延迟等级或范围,也可以在模拟器运行期间通过控制台动态修改延迟。
要想在模拟启动时设置延迟,使用 -netdelay 选项,后面跟一个合法的 <delay> 值。这里给出一些例子:
要想在模拟器运行期间动态修改网络延迟,需要连接上控制台使用 netdelay 命令,后面 跟合法的 <delay> 值。下表中列出了合法的 <delay> 值
值的格式为下面的一种(单位为毫秒):
网速模拟
模拟器同样允许你模拟多种网络传输速度。你可以在模拟器启动时指定传输速度或范围,也可以在模 拟器启动后通过控制台动态修改传输速度。
要想在模拟器启动时设置网络传输速度,使用 -netspeed 选项,后面跟合法的 <speed> 值。下面是一些例子:
要想在模拟器运行中动态改变网络传输速度,需要连接上控制台使用 netspeed 命令,后 面跟合法的 <speed> 值。下表中列出了合法的 <speed> 值
<speed> 值的格式为下面的一种(单位为kb/s):
电话功能模拟
Android模拟器拥有自己的GSM模块允许你在模拟器上模拟电话功能。例如,你可以模拟打入电话和建 立/终止数据连接。Android系统模拟电话呼叫跟真实情况一样。这个版本暂不支持电话录音。
你可以通过控制台访问模拟器的电话功能。连接上控制台后,你可以使用
来调用电话功能。
gsm 命令支持下表列出的子命令。
使用模拟器皮肤
你可以让模拟器使用下表介绍的4种皮肤之一。要想指定皮肤,在启动模拟器是使用 -skin <skinID> 选项。
例如:
注意: <skinID> 必须用大写(如果你的开发设备大小敏感)。
Android模拟器能够模拟除了接听和拨打电话外的所有移动设备上的典型功能和行为. 如右图所示, Android模拟器提供了大量的导航和控制键,你可以通过鼠标或键盘点击这些按键来为你的应用程序产生 事件. 同时它还有一个屏幕用于显示Android自带应用程序和你自己的应用程序.
为了便于模拟和测试应用程序, Android模拟器允许你你的应用程序通过Android平台服务调用其他程 序、访问网络、播放音频和视频、保存和**数据、通知用户、渲染图像过渡和场景.
Android模拟器同样具有强大的调试能力,例如能够记录内核输出的控制台、模拟程序中断(比如接受 短信或打入电话)、模拟数据通道中的延时效果和遗失。
下面的章节将提供关于模拟器的详细信息,以及如何在开发应用程序中使用模拟器。
启动和关闭模拟器
要启动Android模拟器,首先进入 SDK 的 tools/ 文件夹,然后输入 emulator 或 ./emulator 。这个操作将初始化Android系统,你将会在屏幕 上看到模拟器窗口。
要关闭模拟器,只需要关闭模拟器窗口即可。
操作模拟器
你可以通过模拟器的启动选项和控制台命令来控制模拟环境的行为和特性。一旦模拟器启动,你就可以通过键盘和鼠标来”按” 模拟器的按键,从而操作模拟器。
下面的表格总结了模拟器按键可键盘按键之间的映射关系。
模拟器启动选项
Android模拟器提供了很多启动选项,你可以在启动模拟器时指定,来控制其外观和行为。下面是用命 令行的方式启动模拟器并指定参数的语法:
- emulator [-option [value]] ... [-qemu args]
下表总结了所有有效的选项。
使用模拟器控制台
每一个运行中的模拟器实例都包括一个控制台,你可以利用控制台动态的查询和控制模拟设备的环境 。例如,你可以利用控制台动态的管理端口映射和网络特性,还可以模拟电话时间。要想进入控制台输入 命令,你需要使用telnet连接到控制台的端口号。
你可以使用下面的命令随时随地连接到任何一个运行中的模拟器实例:
- telnet localhost <port>
假设第一个模拟器实例的控制台使用5554端口,下一个实例使用的端口号会加2,比如5556、5558…… 等。你可以在启动模拟器是使用 -verbose 选项来检测该模拟器实例使用的端口号,在调试 输出的找到以”emulator console running on port number “这一行。 另外, 你可 以在命令行中使用 adb devices 来查看模拟器实例和他们的端口列表。最多可以有16个模拟 器实例同时运行控制台。
注意:模拟器**端口5554-5587的来自任何电脑的连接。将来发布的版本将只接受本 机的连接,但目前,你需要用防火墙阻断外部对你开发设备的5554-5587这些端口的连接。
一旦连接上控制台, 你可以输入 help [command] 来查看命令列表和指定命令的 教程 。
要离开控制台会话, 使用 quit 或 exit 命令。
下面的章节将介绍控制台的主要功能区域。
端口重定向
你可以在模拟器运行期间添加和删除端口重定向。连接上控制台后,你可以通过下面的方法管理端口 重定向:
- redir <list|add|del>redir
支持下表列出的子命令:
网络状况
你可以利用控制台检测网络状况和当前延迟、加速特性。要想检测网络状态需要连接到控制台,使用 netstatus 命令。下面是命令和输出的例子。
- network status
网络延迟模拟
模拟器允许你模拟多种网络延迟等级, 因此你可以在更接近真实情况的环境下测试你的应用程序。你 可以在模拟器启动时设置延迟等级或范围,也可以在模拟器运行期间通过控制台动态修改延迟。
要想在模拟启动时设置延迟,使用 -netdelay 选项,后面跟一个合法的 <delay> 值。这里给出一些例子:
- emulator -netdelay gprs
- emulator -netdelay 40 100
要想在模拟器运行期间动态修改网络延迟,需要连接上控制台使用 netdelay 命令,后面 跟合法的 <delay> 值。下表中列出了合法的 <delay> 值
- network delay gprs<delay>
值的格式为下面的一种(单位为毫秒):
网速模拟
模拟器同样允许你模拟多种网络传输速度。你可以在模拟器启动时指定传输速度或范围,也可以在模 拟器启动后通过控制台动态修改传输速度。
要想在模拟器启动时设置网络传输速度,使用 -netspeed 选项,后面跟合法的 <speed> 值。下面是一些例子:
- emulator -netspeed gsm
- emulator -netspeed 14.4 80
要想在模拟器运行中动态改变网络传输速度,需要连接上控制台使用 netspeed 命令,后 面跟合法的 <speed> 值。下表中列出了合法的 <speed> 值
- network speed 14.4 80
<speed> 值的格式为下面的一种(单位为kb/s):
电话功能模拟
Android模拟器拥有自己的GSM模块允许你在模拟器上模拟电话功能。例如,你可以模拟打入电话和建 立/终止数据连接。Android系统模拟电话呼叫跟真实情况一样。这个版本暂不支持电话录音。
你可以通过控制台访问模拟器的电话功能。连接上控制台后,你可以使用
- gsm <call|data|voice>
来调用电话功能。
gsm 命令支持下表列出的子命令。
使用模拟器皮肤
你可以让模拟器使用下表介绍的4种皮肤之一。要想指定皮肤,在启动模拟器是使用 -skin <skinID> 选项。
例如:
- emulator -skin HVGA-L
注意: <skinID> 必须用大写(如果你的开发设备大小敏感)。