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

开发环境:Windows XP professional sp2,Eclipse 3.6.2,JDK 1.6.0_26,Android 2.3.3,andengine 2D OpenGL GameEngine。

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的镜像文件路径:

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

添加硬件设备的支持:

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

至此,关联过程已完成。

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中找到图片文件,并且可以直接在模拟器中打开。

相关推荐