android中AVD的使用

来源:互联网 发布:国家旅游局2016年数据 编辑:程序博客网 时间:2024/05/01 15:38

http://www.iteye.com/topic/798718

1、创建AVD    

    在android sdk 1.5 版本以后的开发中,必须至少创建一个AVD,每个AVD模拟一套虚拟设备来运行Android应用程序。无论是在eclipse下或者命令行下创建新的avd,系统会在系统默认文件路径下自动创建一个.android 文件夹,所创建的有关avd的配置信息则被保存在该.android目录下,如: 
                   C:\Documents and Settings\Administrator\.android 
1)命令行方式创建AVD 
命令格式:android create avd -n [avd名称] -t [api level] 
进入Android SDK目录下的tools子目录,运行: 
:android create avd –name adk_1_5_version --target 2 
在创建avd文件得第二步,控制台提示“是否自定义自己得设备”,默认选项是"no",如果输入 "y",接下来可以一步步根据提示,定制自己得模拟器性能参数。 
这里t代表target目标平台的API Level,我们可以使用android list targets来查看这里t的可选参数, 
进入Android SDK目录下的tools子目录,运行:android list targets 
2)开发工具创建AVD 
1、在Eclipse中。选择Windows > Android SDK and AVD Manager 
2、点击左侧面板的Virtual Devices,再右侧点击New 
3、填入Name,选择Target的API,SD Card大小任意,Skin随便选,Hardware目前保持默认值 
4、点击Create AVD即可完成创建AVD 
注意:如果你点击左侧面板的Virtual Devices,再右侧点击New ,而target下拉列表没有可选项时,这时候点击左侧面板的Available Packages,在右侧勾选 
        https://dl-ssl.google.com/android/repository/repository.xml, 
然后点击Install Selected按钮,接下来就是按提示做就行了 


2、创建SDCard镜像文件 
进入Android SDK目录下的tools子目录,运行 
mksdcard -l sdcard 512M  e:\sdcard.img 
这样就创建了一个512M的SD卡镜像文件:查看E盘,E盘下会有一个sdcard.img 文件 

3、命令行下运行AVD时加载sdcard 
进入Android SDK目录下的tools子目录,运行 
emulator -avd MyAVD -sdcard android.img 
如果不想每次都加-sdcard $sdcard_path,有两个办法 
解决办法一:可以把sdcard.img 复制到C:\Documents and Settings\Administrator\.android\avd\下对应的AVD目录下 
解决办法二:修改配置文件,C:\Documents and Settings\Administrator\.android\avd\AVD_NAME.avd\,打开config.ini,加入以下行:sdcard.path=你的SD卡路径 

4、AVD路径设置 
   前面提到,不管用Eclipse还是从命令行创建Android Emulator时,相应的文件是被放置到 “C:\Documents and Settings\Administrator\.android“ 下面。如果想改变AVD的路径设置,也有2个办法 
解决办法一: 
   新添加一个环境变量,名字为 "ANDROID_SDK_HOME”,然后把变量值改为你想将".android”文件夹(AVD信息)所放置的位置 
解决办法二: 
   修改配置文件中的路径,比如我的AVD名称是MyAVD, 打开 
      C:\Documents and Settings\Administrator\.android\avd目录中的文件MyAVD.ini文件,找到 
       target=android-5path 
             =C:\Documents and  Settings\Administrator\.android\avd\MyAVD.avd 
修改其路径即可 

若遇到ERROR: unknown virtual device name 这样的问题一般是由于AVD文件路径引用错误造成的。