(下面是在linux运行的,而且是在sdcard的镜像文件同一目录下进行操作的)
这两天在实现播放器列表实现,其中需要使用到Sdcard,在网上收集到了一些sdcard的使用,发现几乎都是错误的,最后经过小组几个人的探讨,终于将sdcard使用成功了。下面就将使用sdcard的使用步骤总结下来:
我们在网上会发现,很多人都是这样来操作sdcard的:
1、首先是生成sdcard镜像文件sdcard.img或者是其他的名称。命令为:mksdcard -l sdcard capacity directory
例如:mksdcard -l sdcard 256M ./sdcard.img
directory 指的是镜像文件存放的目录,capacity就是要创建的镜像文件的容量。这里将镜像文件放在当前目录下。
2、之后,启动模拟器:emulator -sdcard sdcard镜像文件的目录
例如:emulator -sdcard ./sdcard.img
3、打开另外一个终端,输入下面命令来将资源放入到sdcard里面
adb push source-file sdcard的镜像文件目录
这个时候会发现这是不能成功的,会得出Read Only System 这样的错误失败提示。
这里,来分析一下为什么会失败。
在创建sdcard镜像文件的时候,生成的sdcard.img只是一个镜像文件,而不是一个真正的目录,所以如果要将资源文件放入到sdcard的镜像文件中,当然是错误的,而我们会发现,sdcard是Android中的存储模拟设备,类似于计算机的硬盘一样,这样我们可以向其中放入资源文件,即可以将命令adb push source-file sdcard的镜像文件目录
改为adb push source-file sdcard.之后,我们进入adb shell中检查是否将文件放入了sdcard中,使用命令adb shell,ls一下,找到sdcard,检查一下sdcard中,这时,sdcard中已经拥有资源了,即我们的push命令运行成功。
以上就是sdcard存储资源的使用。还有一点也是需要注意的,就是在创建sdcard的时候,注意创建sdcard的命令:
mksdcard -l sdcard 256M ./sdcard.img
其中sdcard是不能使用其他名称的,而sdcard.img可以是任何.img文件,因为模拟器只认识sdcard这个专有名词或者是模拟设备,其他的名称设备无法理解,即可以这样时候:
mksdcard -l sdcard 256M ./name-you-what.img
阅读(3857) | 评论(0) | 转发(0) |