设定Android 模拟器
现在我们还不忙着开始写程式,先花点时间,来看看怎么在开发环境中,透过「Android 模拟器」来执行应用程式吧。「Android 软体开发套件」(SDK)1.5 以上的版本提供了支援不同版本模拟器的功能,在使用模拟器之前,必须先建立一个模拟器后才可在Eclipse 开发环境中使用。SDK 中提供了一个「android」命令行工具(在android-sdk/tools 中),可以用来建立新专案或是管理模拟器。在此我们使用「android」命令行工具来新建立一个模拟器。在新的Android 文件中,一律把Android 模拟器称作「Android 虚拟机器」(Android VirtualDevice),简写为「AVD」以作区别。列出模拟器类型

首先,把「android-sdk/tools」目录加入系统路径,我们以后就可以在任何地方使用「androidsdk/tools」目录下的各种命令。或是直接打开命令行,进入「android-sdk/tools」目录,输入以下命令:
$ android list targets
萤幕上会列出所有支援的模拟器类型
$ android list targets
Available Android targets:
id: 1
Name: Android 1.1
Type: Platform
API level: 2
Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P

id: 2
Name: Android 1.5
Type: Platform
API level: 3
Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
id: 3
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Description: Android + Google APIs
Based on Android 1.5 (API level 3)
Libraries:
* com.google.android.maps (maps.jar)
API for Google Maps
Skins: HVGA (default), HVGA-L, QVGA-P, HVGA-P, QVGA-L
在这边列出了三种模拟器类型。分别是编号(id)为1、2 的Android1.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 cupcake
Android 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 avd
Available Android Virtual Devices:
Name: cupcake
Path: /Users/mac/.android/avd/cupcake.avd
Target:Android 1.5 (API level 3)
Skin: HVGA
使用「android list avd」命令看到有输出,即表示已成功建立模拟器,可以回到Eclipse 环境来,设定执行应用程式专案所需的环境参数了。


设定环境参数
要执行ApiDemos 程式前,我们得在开发环境中,事先设定好一些用来执行ApiDemos 程式的环境参数。以后使用其他程式专案时,我们也能用同样的方式,让这些程式在我们的开发环境中运行。
首先,我们透过选单列上的「Run」(执行)选单,选择「开启执行参数设定」(Run->DebugConfigurations...)进入运行环境参数设定画面。

进入设定画面后,在视窗左侧会有一整排Eclipse 支援的运行设定,我们从中找到"AndroidApplication"(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 list targets」命令后,我们可以看到萤幕上列出所有支援的模拟器类型。举我们刚才建立过的第二种类型(id 2)模拟器为例,列出讯息如下:
id: 2
Name: Android 1.5
Type: Platform
API level: 3
Skins: 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 直式」显示改为横式,则可以透过使用快速键,直接切换萤幕来达成。

切换荧幕
在Windows 作业系统上按下「Ctrl」和「F12」键,或是在Mac OS X 作业系统上同时按下「fn」和「7」键,萤幕就会从预设的直式显示改成横式显示,再按一次则切换回原来的直式显示。


新增模拟器外观设定
Android 模拟器的用途,就是协助我们在电脑上也能模拟真实手机的动作。不禁会想,如果模拟器除了所模拟的动作之外,模拟器的外观也能跟实机长的一样,那不是整个更拟真,开发起来更有感觉吗?没错,所以Android 模拟器也允许使用者自行制作模拟器外观!除了预设的模拟器外观之外,以世界第一台发售的Android 手机「T-Mobile G1」为例,有人已经制作好了「T-Mobile G1」的模拟器外观。可以前往http://www.jsharkey.org/downloads/G1.zip 下载。
要新增模拟器外观时,只需把下载后的模拟器外观档案解开成一个资料夹,再将资料夹放到
「android_sdk/platforms/android-1.5/skins」目录下。做完后在命令列中输入「android list targets」命令,即可发现id 2 (Android 1.5 )列表中的「Skins」项目新增加了「G1」一项(可透过更改目录名称来自行命名)。
id: 2
Name: Android 1.5
Type: Platform
API level: 3
Skins: G1, HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
要建立使用新模拟器外观的模拟器,可以在之前命令后加入「--skin」选项。命令如下:
$ android create avd --target 2 --name devphone –skin G1
我们也可以偷懒不用参数的全名,将参数用简写表示。即用「-t」表示「--target」,用「-n」
表示「--name」,用「-s」表示「--skin」。改输入如下:
$ android create avd -t 2 -n devphone –s G1

移除模拟器布景
要移除一个模拟器布景,直接删除在「android_sdk/platforms/android-1.5/skins」中的对应目录即可。

移除程式
我们已经顺利地启动了模拟器,那么,该怎么移除安装到模拟器上的程式哩?

Android SDK 中提供一个adb(Android Debugger)命令行工具(在android-sdk/tools 中),我们可以用里面的shell 工具连上模拟器来移除应用程式。在某些平台上,这些动作可能需要拥有root 权限才能执行。
首先打开命令列,启动adb shell
$ adb shell
接着切换到data/app 目录中
$ cd data/app/
使用ls 命令(等同windows 上命令行的dir 命令)来检视档案列表
# ls
-rw-r--r-- system system 1325833 2007-11-11 20:59 ApiDemos.apk
接着使用rm 命令来删除ApiDemos 应用程式
# rm ApiDemos.apk
# ls


移除模拟器
我们可以使用「android list avd」命令来列出所有的模拟器
$ android list avd
Available Android Virtual Devices:
Name: cupcake
Path: /Users/mac/.android/avd/cupcake.avd
Target:Android 1.5 (API level 3)
Skin: HVGA

表示现在系统中有一个名为cupcake 的模拟器。我们可以使用「android delete avd --name cupcake」命令来删除名称为「cupcake」的模拟器。
$ android delete avd --name cupcake
AVD 'cupcake' deleted.
删除后再次执行「android list avd」命令,得到的结果为
$ android list avd
Available Android Virtual Devices:
表示系统中已经不存在任何模拟器,我们真的已经将模拟器删除了。

更多相关文章

  1. 命令行装android
  2. android使用adb命令安装软件
  3. Android sdk tool android 命令参数
  4. Android shell 系统命令
  5. 如何向Android模拟器打电话发短信
  6. 【Android】Android 代码判断当前设备是否为模拟器
  7. SDK中模拟器创建命令行!!!

随机推荐

  1. Android中的PID,UID,TID
  2. Android控制台中运行Java程序
  3. Android(安卓)UI控件详解-Notification(
  4. Android:BT测试代码
  5. Android三种实现定时器的方法
  6. 简析android:installLocation
  7. 在Android(安卓)的Camera 预览上执行 Dra
  8. android 指纹验证api
  9. 读取Android设备的MAC地址
  10. Android(安卓)SD卡文件列表