使用 Android 模拟器
我们已经透过「Eclipse」开发环境,开启了「ApiDemos」源代码。本章将讲解如何设定和操作Android 模拟器。设定 Android 模拟器现在我们还不忙着开始写程序,先花点时间,来看看怎么在开发环境中,通过「Android模拟器」来执行应用程序吧。「Android 软件开发套件」(SDK) 1.5 以上的版本提供了支援不同版本模拟器的功能,在使用模拟器之前,必须先建立一个模拟器后才可在Eclipse 开发环境中使用。SDK 中提供了一个「android」命令行工具(在android-sdk/tools 中),可以用来建立新专桉或是管理模拟器。在此我们使用「android」命令行工具来新建立一个模拟器。在新的Android 文件中,一律把Android 模拟器称作「Android 虚拟机器」(AndroidVirtual Device),简写为「AVD」以作区别。列出模拟器类型
首先,把「android-sdk/tools 」目录加入系统路径,我们以后就可以在任何地方使用「android-sdk/tools 」目录下的各种命令。在Windows 2000, XP, 2003 这些操作系统里,点选「我的电脑右键> 属性> 高级> 环境变数」。在「系统变数(S)」栏中,选取「PATH」变数名称后,再点选「编辑(I)」按钮。再此假设您安装Android SDK 的路径是「C:\android-sdk\tools」,接着在弹出的视窗中将「;C:\android-sdk\tools」(注意要以分号隔开)这字串添在原本的字串之后,按下确定后重新启动操作系统。重开系统后选择「开始> 执行」,在弹出的输入框中输入「cmd」,即可开启命令行工具并继续以下的动作。或是您也可以直接打开命令行,进入「android-sdk/tools 」目录,输入以下命令:代码:
$ android list targets在没有将Android SDK 加入路径的情况下,在Linux 或Mac 环境中要输入代码:$ ./android list targets萤幕上会列出所有支援的模拟器类型
代码:$ android list targetsAvailable Android targets:id: 1Name: Android 1.1Type: PlatformAPI level: 2Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-Pid: 2Name: Android 1.5Type: PlatformAPI level: 3Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-Pid: 3Name: Google APIsType: Add-OnVendor: Google Inc.Description: Android + Google APIsBased on Android 1.5 (API level 3)Libraries:com.google.android.maps (maps.jar)API for Google MapsSkins: HVGA (default), HVGA-L, QVGA-P, HVGA-P, QVGA-L在这边列出了三种模拟器类型。分别是编号(id)为1、2 的Android 1.1、1.5 模拟器,与编号(id)为3 的「Google APIs」,Google 把自己提供的应用程序(如Google Map)放在「Google APIs」这个模拟器类型中,因此要开发Google Map 等Google 专属应用程序时,就必须先建立编号3 这类型的模拟器,稍后才能在适当的模拟器上作验证。建立模拟器我们现在来建立一个基本的Android SDK 1.5 模拟器。在命令行中输入以下命令:代码:$ android create avd --target 2 --name cupcake这段命令的意思是:使用「android create avd」命令来建立一个新的模拟器,「--target 2」参数的意思是这个模拟器使用id 为2 的模拟器类型(Android 1.5),「--name cupcake」参数的意思是将这个建立的模拟器命名为「cupcake」。产生的结果如下
代码:$ android create avd --target 2 --name cupcakeAndroid 1.5 is a basic Android platform.Do you wish to create a custom hardware profile [no]Created AVD 'cupcake' based on Android 1.5列出已建立的模拟器
我们可以使用「Android」命令行工具提供的「list avd」命令,来列出所有我们已经建立的模拟器。在命令行中输入以下命令:代码:$ android list avd产生的结果如下:代码:$ android list avdAvailable Android Virtual Devices:Name: cupcakePath: /Users/mac/.android/avd/cupcake.avdTarget: Android 1.5 (API level 3)Skin: HVGA使用「android list avd」命令看到有输出,即表示已成功建立模拟器,可以回到Eclipse环境来,设定执行应用程序所需的环境参数了。设定环境参数
要执行ApiDemos 程序前,我们得在开发环境中,事先设定好一些用来执行ApiDemos程序的环境参数。以后使用其他程序专桉时,我们也能用同样的方式,让这些程序在我们的开发环境中运行。首先,我们透过选单列上的「Run」(执行)选单,选择「开启执行参数设定」(Run-> DebugConfigurations...) 进入运行环境参数设定画面。进入设定画面后,在视窗左侧会有一整排Eclipse 支援的运行设定,我们从中找到"Android Application"(Android 应用程序)项目,按下滑鼠右键,点选"New"(新增)选项。选择「New」选项后,在「Android Application」项目下方会多出一列执行项目。我们可以在Name 栏位上输入一个代表这个环境参数的名称,在此我们输入与专桉名称相同的「ApiDemos」。在「Project」栏位右方,点选「Browse...」按钮,开启「选择」(Project Selection)视窗,选择「ApiDemos」专桉并点选「OK」按钮,以选择要执行的工程。在「Launch Action」选单中,确认预设选择的是「Launch Default Activity」。至此我们就完成了模拟器环境参数的设定。点选右下角的「Debug」按钮,Eclipse 就会启动Android 模拟器。小技巧:
在选单列中,也可以选择设定「Run Configuration...」选项。这时我们得到的是一个几乎完全相同的环境参数设定画面,只是右下角的「Debug」按钮变成了「Run」按钮。「Debug」与「Run」模式的环境参数设定可以共用,差别在于「Debug」模式下可以使用在之后章节中会介绍的logd,来显示一些开发时所需的额外讯息。再次启动Android 模拟器当我们设定好之后,以后碰到要再次启动模拟器的情况时,只要在萤幕左上角的「Debug」或「Run」图示右侧小箭头上按一下,从弹出的选单中选择刚刚设定的环境参数名称,模拟器即开始执行,并安装好我们所指定的专桉应用程序。操作Android 模拟器切换模拟器场景在命令列上执行「android list targets」命令后,我们可以看到萤幕上列出所有支援的模拟器类型。举我们刚才建立过的第二种类型(id 2)模拟器为例,列出讯息如下:代码:id: 2Name: Android 1.5Type: PlatformAPI level: 3Skins: G1, HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P其中Skins 栏位中会列出所有支援的模拟器场景。预设有「HVGA」与「QVGA」两种画面配置选项可选择,「HVGA」与「QVGA」又可以再各自分为「-L」(landscape, 横式) 与「-P」(portrait 直式)。要建立「QVGA」模式的模拟器,则在前一节「android create avd」命令后,附加上「--skinQVGA」选项即可。要将预设的「HVGA 直式」显示改为横式,则可以透过使用快速键,直接切换萤幕来达成。