技术开发 频道

基于命令行模式进行开发ANDROID应用

  至此,SDK各组件安装完毕。执行tools/android,在"Installed Packages"下,你就会看到上述已经安装的组件包了。(笔者最后又发现了一个可以下载Android SDK的地方:http://dl.google.com/android[/android-sdk_r08-linux_86.tgz],在这里你下载到的SDK包内platforms和add-ons目录都已经建立完毕了,SDK tools在tools目录下,其余组件的安装方法和上面一致。)

  为了方便后续使用,我们可将SDK目录下的platform-tools和tools两个路径添加到PATH环境变量中。接下来,我们就可以创建一个虚拟设备了。Android虚拟设备其实是一组配置,tools下的emulator使用这些配置启动一个特定版本的Android模拟程序,用来部署、运行和测试你开发的Android应用。

  我们可以通过"android list targets"命令来查看当前系统中可以创建哪些平台的虚拟设备,在我的系统下,这条命令的执行结果如下:

  Available Android targets:
  id:
1 or "android-8"
  Name: Android
2.2
  Type: Platform
  API level:
8
  Revision:
2
  Skins: WVGA854, QVGA, WVGA800 (
default), WQVGA400, WQVGA432, HVGA
  id:
2 or "android-10"
  Name: Android
2.3.3
  Type: Platform
  API level:
10
  Revision:
1
  Skins: WVGA854, QVGA, WVGA800 (
default), WQVGA400, WQVGA432, HVGA

  我们有两个Platform可选,这里我们创建一个Android 2.3.3的虚拟设备。创建的命令如下:

  $> android create avd -n helloandroid -t 2
  Android
2.3.3 is a basic Android platform.
  Do you wish to create a custom hardware profile [no]
  Created AVD
'helloandroid' based on Android 2.3.3,
  with the following hardware config:
  hw.lcd.density
=240
  vm.heapSize
=24
  hw.ramSize
=256

  其中-n 用于指定avd的名字,-t则用于指定platform,也就是target,之前我们已经列出系统中的Targets,我们只需选择一个,并使用target的id即可。

  创建后,我们可以通过android list avd来查看系统中都创建了哪些avd:

  $> android list avd
  Available Android Virtual Devices:
  Name: helloandroid
  Path:
/media/winD/tonybai/android-sdk-linux_86/.android/avd/helloandroid.avd
  Target: Android
2.3.3 (API level 10)
  Skin: WVGA800

  有了avd,我们就可以启动emulator了。执行emulator -avd helloandroid,我们得到了如下错误信息:

  “emulator: ERROR: the user data image is used by another emulator. aborting”

  这条错误信息的字面意思是有另外一个emulator使用了这个avd,但是我找了半天,发现我并未启动任务其他emulator,系统进程列表中也没有其他emulator的信息。又到网上找了一些资料,都说是因emulator异常退出,导致没有解锁avd配置目录下的.lock文件导致的。但我到avd配置目录下,根本没有找到什么.lock文件。

0
相关文章