论坛首页 移动开发技术论坛

Android1.5中的AVD

浏览 18497 次
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-05-08   最后修改:2009-05-08

Android 1.5中引入了AVD(Android Virtual Device)。AVD是一个经过配置的模拟器。在创建AVD时可以配置的选项有:模拟器影像大小/触摸屏/轨迹球/摄像头/屏幕分辨率/键盘/GSM /GPS/Audio录放/SD卡支持/缓存区大小等

任何一个android应用都必须运行在一个AVD。如果没有制定或自动找到合适的AVD,报如下类似错误:
Failed to find an AVD compatible with target 'Android 1.1'. Launch aborted.

AVD必须指定target,target有类型,SDK1.5中目前有两种:platform,Add-on。Platform是android的平台target,add-on是android的插件target。
在创建AVD,选择target时要注意:
1)target的API level很重要,应用的API Level要<=AVD的Target的API Level,否则应用不能运行。应用的API level在AndroidManifest.xml中定义。
2)最好建立一个API level最大的AVD,测试你的应用的在高版本AVD之上的兼容性。
3)如果你的应用使用了add-on插件(在manifest中声明了user-library),那么要部署到的AVD的target需要指定为add-on类型。否则会报如下错误:
[2009-05-08 18:07:13 - apidemo_my] Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
[2009-05-08 18:07:13 - apidemo_my] Please check logcat output for more details.
[2009-05-08 18:07:13 - apidemo_my] Launch canceled!
(如果某个应用使用了两个add-on插件,那该如何创建AVD呢?好像创建AVD时没有依附于多个target的选项?)

现 在SDK1.5有三个target,Android 1.1,Android 1.5,Google APIs,可以预见,随SDK的升级及add-on的扩展,会有新的target增加进来。可以通过android list target查看系统中有哪些target。怎样添加新的target呢?没有看到说明,可能要定制SDK才可以做到吧。

 

通过Eclipse ADT运行应用时,ADT缺省会自动找合适AVD作为模拟环境运行apk。也可以不让ADT自动找,而手工指定,方法就是在Run Configurations中设置,任意指定一个系统中存在的AVD(AVD会自动列出所有的AVD供选择):

 

引入了AVD后,做兼容性测试就比较容易了。可以根据需要创建多个AVD,每个AVD代表一种机型/版本。

   发表时间:2009-05-13  
请教一个问题

  我用avd后 ,模拟器就出不来了,非要把手机链起来,在手机里运行。

怎么才能在电脑里就可以调试?谢谢诶
0 请登录后投票
   发表时间:2009-05-13  
liqiuxi 写道
请教一个问题

  我用avd后 ,模拟器就出不来了,非要把手机链起来,在手机里运行。

怎么才能在电脑里就可以调试?谢谢诶


看看你project run configuration是不是automatic选取target了?
0 请登录后投票
   发表时间:2009-05-31   最后修改:2009-05-31
lordhong 写道
liqiuxi 写道
请教一个问题

  我用avd后 ,模拟器就出不来了,非要把手机链起来,在手机里运行。

怎么才能在电脑里就可以调试?谢谢诶


看看你project run configuration是不是automatic选取target了?


liqiuxi 的问题是出在没有建立AVD,所以在AVD列表里面会选不到,这个应该是1.5的问题,需要手动建立一下:

------------------------------------------------------------------------------------
建立模擬器
我們現在來建立一個基本的 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
0 请登录后投票
   发表时间:2009-06-12  
我的 Android1.5中的run工程时候, 还是报 5554 的错误啊
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics