爲了學習使用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了,