在Android模拟器中使用虚拟SD卡设备

原文链接:http://www.linuxidc.com/Linux/2011-10/44783.htm

 

1、首先创建虚拟SD卡设备:
 
使用命令mksdcard在磁盘上虚拟一个SD卡设备:
 
mksdcard: create a blank FAT32 image to be used with the Android emulator
usage: mksdcard [-l label] <size> <file>

  if <size> is a simple integer, it specifies a size in bytes
  if <size> is an integer followed by ‘K’, it specifies a size in KiB
  if <size> is an integer followed by ‘M’, it specifies a size in MiB
  if <size> is an integer followed by ‘G’, it specifies a size in GiB

Minimum size is 9M. The Android emulator cannot use smaller images.
Maximum size is -512 bytes, 255K, 1073741823M or 0G
 
命令如下:mksdcard 200M F:\android_develop\sdcard.img (虚拟SD卡的大小及路径可以自行设定)
 
2、将虚拟SD卡设备与模拟器进行关联,使得模拟器能够使用该SD卡设备:
 
方法一:使用emulator命令来启动模拟器,并告知模拟器SD卡设备的位置,
 
emulator -avd first_avd -sdcard F:\android_develop\sdcard.img
 
方法二:使用ADT来为模拟器关联SD卡设备:
 
打开AVD Manager,编辑选中的Android Virtual Device,添加SD Card的镜像文件路径:

添加硬件设备的支持:
 SDCard Support

至此,关联过程已完成。
 
3、为使用SD卡设备的应用程序添加写权限:
 
在应用程序的AndroidManifest.xml文件中,添加以下代码:
 
<!– 添加对SDCARD的写权限 –> 
    <uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE”>
    </uses-permission>
 
至此,用户可以在应用程序中对SD卡设备进行读写操作了。
 

 

下面是在应用程序外部访问虚拟SD卡设备:
 
1、通过adb push/pull命令,将本地文件上传到SD卡设备的指定目录下,
 
  adb push <local> <remote>    – copy file/dir to device
  adb pull <remote> [<local>]  – copy file/dir from device

 
使用adb shell 命令以root用户的身份进入模拟器的根目录;
 
#cd sdcard 进入SD卡设备;
 
#ls 查看SD卡设备中的内容;
 
#rm file_name 删除文件;
 
#rm -r dir_name 删除目录;
 
跟linux命令方式是一样的。
 
2、通过Eclipse开发环境下的Window->open perspective->DDMS->File Explorer来查看SD卡中的信息,并能够实现上传本地文件到SD卡,从SD卡中导出文件以及创建目录,删除指定的文件等操作。
 
3、通过使用模拟器->主菜单->Dev Tools->Media Scanner来查看模拟器所关联的SD卡设备中的信息,等Scan finished之后,可以在主菜单->Music中找到音乐文件,在主菜单->Gallery中找到图片文件,并且可以直接在模拟器中打开。

 

 

昨天升级了SDK,ADT,发现原来可以在EditText里面使用电脑的键盘输入的功能,现在无法输入了,连模拟器的无力键盘也不行,只能使用虚拟键盘,非常麻烦,还有在baidu里有如下方法,只是在Create AVD的时候在Hardware这一项中添加keyboard support

keyboard lid support: 模拟器物理键盘,设为yes,表示模拟器物理键盘可用

keyboard support : 电脑键盘,设为yes,电脑键盘可用