How to create and use SDCard image for Android emulator

为了学习使用Android新的组件,先得为Android emulator虚拟一个SD卡。下面就把我的实验工作记录一下(本实验默认已经配置sdk目录下tools到环境变量目录中)。

1. 使用mksdcard命令创建一个SD卡镜像(目前simulator支持8M~128G的SD卡。)
例如创建一个名为sdcard2.img的128M(M需大写)SD卡镜像到~/android/sdcard/下,可以这样实现,
$ mksdcard 128M ~/android/sdcard/sdcard2.img

2. emulator挂载SD卡镜像

emulator -avd Map1.5 -sdcard $SDCARD_LOC/sdcard2.img
这里Map1.5是具有Google Map API 1.5 平台模拟器,同时为了方便我为SD卡镜像配置了登录shell的环境变量,通过cat命令就可以查看到
$ cat ~/.bashrc

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

#Android SDCard Location variable
SDCARD_LOC=/home/benjamin/android/sdcard/
export PATH=$SDCARD_LOC:$PATH

这样启动模拟器后,模拟器就不会抱怨没有SD卡了。

3. 向emulator的SD卡镜像写入数据
方法一:
在/mnt目录下为SD卡建立一个挂载目录,
$ mkdir -p /mnt/sdcard

以loop设备方式将SD卡镜像挂载到刚才建立的那个目录下
$ sudo mount -o loop /home/benjamin/android/sdcard/sdcard.img /mnt/sdcard/

向SD卡镜像拷入一首mp3备用,
$ sudo cp /home/benjamin/Music/I\ need\ to\ wake\ up-Melissa_Etheridge.mp3 /mnt/sdcard/
查看一下,
$ ls -l /mnt/sdcard/
total 5009
-rwxr-xr-x 1 root root 5128320 2010-01-07 22:16 I need to wake up-Melissa_Etheridge.mp3

方法二(推荐):
先启动模拟器并挂载SD Card
$ emulator -avd android15 -sdcard $SDCARD_LOC/sdcard.img

使用adb push 把要存储到SD卡镜像的文件压到模拟器SDCard的/sdcard目录下
$ adb push ~/Music/I\ still\ believe.mp3 /sdcard
显示:981 KB/s (5684529 bytes in 5.654s)表明传输成功。
可以通过登录adb shell进一步查看详情
$ adb shell
# ls -l /sdcard
----rw-rw- system   system    5128320 2010-01-07 14:26 I need to wake up-Melissa_Etheridge.mp3
----rw-rw- system   system    5684529 2009-08-14 09:35 I still believe.mp3


导入mp3后,如果要在模拟器中访问,还需要在模拟器中的Dev tools里面scan一下媒体文件,然后就先可以使用Android emulator自带Music程序查看传入的mp3了,






你可能感兴趣的:(android,移动开发,模拟器,休闲,SD卡镜像)