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了,
相关文章
相关标签/搜索