技术开发 频道

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

  我又通过调试模式执行了一遍:emulator -avd helloandroid -verbose -debug-all,这回我得到的信息如下:

  ... 这里省略了几百行日志....

  emulator: found system.img in search dir: /media/winD/tonybai/android-sdk-linux_86/platforms/android-2.3.3_r01-linux/images/
  emulator: found userdata
-qemu.img in content directory
  emulator: locking user data image at
/media/winD/tonybai/android-sdk-linux_86/.android/avd/helloandroid.avd/userdata-qemu.img
  emulator: ERROR: the user data image is used by another emulator. aborting

  从上面的错误日志来看,似乎emulator在对userdata-qemu.img加锁时出现了问题。这个问题古怪了些。我的SDK部署在FAT32分区,难道是跨分区文件锁有问题。无奈下把SDK搬移到我的HOME路径下,并修改PATH环境变量。重新启动emulator,这回emulator启动成功了。不过第一次启动emulator可真是够慢的,大约有5、6分钟之多,才看到Android的界面。不过还有一个问题,那就是emulator启动的模拟器画面太大,出了屏幕边界(我的本子是12寸屏幕的)。我们来修改一下avd的配置,调整屏幕属性:

  在android-sdk-linux_86/.android/avd/helloandroid.avd目录下,我们打开config.ini,将下面三项配置:

  hw.lcd.density=240
  skin.name=WVGA800
  skin.path=platforms/android-2.3.3_r01-linux/skins/WVGA800

  修改为:

  hw.lcd.density=160
  skin.name=HVGA
  skin.path=platforms/android-2.3.3_r01-linux/skins/HVGA

  重新启动emulator,这回整个模拟器的画面都在屏幕以内了。

  万事俱备,只欠东风!下面我们就可以开始创建我们第一个HelloAndroid工程了。在~/proj/android下建立helloandroid目录,进入helloandroid目录,执行下面命令:

  $> android create project --name helloandroid --activity HelloAndroid --path ./ --package com.examples.helloandroid --target 2
  Created directory
/home/tonybai/proj/android/helloandroid/src/com/examples/helloandroid
  Added file .
/src/com/examples/helloandroid/HelloAndroid.java
  Created directory
/home/tonybai/proj/android/helloandroid/res
  Created directory
/home/tonybai/proj/android/helloandroid/bin
  Created directory
/home/tonybai/proj/android/helloandroid/libs
  Created directory
/home/tonybai/proj/android/helloandroid/res/values
  Added file .
/res/values/strings.xml
  Created directory
/home/tonybai/proj/android/helloandroid/res/layout
  Added file .
/res/layout/main.xml
  Created directory
/home/tonybai/proj/android/helloandroid/res/drawable-hdpi
  Created directory
/home/tonybai/proj/android/helloandroid/res/drawable-mdpi
  Created directory
/home/tonybai/proj/android/helloandroid/res/drawable-ldpi
  Added file .
/AndroidManifest.xml
  Added file .
/build.xml
  Added file .
/proguard.cfg

  Build该工程: ant release(注意对于2.3的SDK,ant要使用1.8以上版本)。一切很顺利,Build成功后,在bin下面出现了"helloandroid-unsigned.apk"文件。

  那么如何将apk文件部署到模拟器中运行呢?如果系统内仅有一个device在运行(可通过adb devices命令查看),那么我们可以直接执行ant install,这样我们的apk就会自动被部署到emulator中了(这期间使用的是调试版的数字签名)。

  部署后,你就会在emulator的界面上看到一个绿机器人图标且名字为“HelloAndroid”的程序了。点击其执行,我们得到一行文字:Hello World, HelloAndroid。这个文字是工程被创建时默认自带的,你当然也可以修改它了。

  另外如果要卸载这个应用也很简单,执行ant uninstall就是了。

  如果系统有多个AVD在运行,那么我们同样可以通过adb命令来选择一个device安装我们的应用,如果一个device的名字是emulator-5554(通过adb devices查看),那么我们可以先执行ant debug,生成bin/helloandroid-debug.apk,然后通过"adb -s emulator-5554 install bin/helloandroid-debug.apk"将应用安装到emulator-5554上去。

0
相关文章