1. 在模拟器中创建sdcard目录,方法如下:
1. mksdcard命令
用cmd进入SDK的Tools目录,执行mksdcard命令。会出现如下帮助信息
我们可以看到sdcard image支持FAT32格式,其中usage: mksdcard [-l label] <size> <file>是主要的参数。
- -l 后面跟的是磁盘卷标,如g就代表g盘;
- size 为制定容量大小,单位有KB和MB;
- file 代表生成的sd映像文件名,如android_sdcard_image
2. simulator模拟SD步骤
(1)创建一个SD卡镜像文件
打开cmd,输入如下命令 mksdcard 1024M sdcard.img ,该命令会在当前目录下 生成一个sdcard.img文件,该文件就是simulator的SD卡镜像文件。1024M表示该SD卡有1G的容量,也可用K做单位,K、M必须大写。目前simulator支持8M~128G的SD卡。
(2)simulator加载SD卡映像文件
创建了SD卡镜像文件,只是创建了一个文件,还不能在模拟器中直接用,要在模拟器中可看到该SD卡,方法有两种,如下:
- 在cmd中,命令如下:emulator -sdcard e:\sdcard.img 或
emulator –avd android8 –sdcard d:\Android_develop\android_sdk_windows\tools\sdcard.img
注意:执行上句命令时,需关闭打开了的模拟器。
- Run As --> Run Configurations --> Target --> Aditional Emulator Command Line Options中加入启动参数:-sdcard <sd映像文件名>,如下图:
3. 向SD卡中导入/导出文件
- 方法一:在cmd中:adb push <文件路径+文件名> /sdcard/<文件名>。例如
这个命令会将当前目录下的test.txt文件考到sdcard中,文件名不变。前一个test.txt是本地文件的路径,sdcard/test.txt是目的sdcard镜像的文件名(sdcard要去掉后缀)。
- 方法二: 在Eclipse中,操作如下:在设置了RUN的命令参数之后,RUN一个应用,然后使用DDMS的File Explorer工具导入导出文件。打开DDMS工具:在Eclipse的Window->Open Perspective->Other...里面打开DDMS工具。在DDMS的File Explorer标签页里面选择sdcard目录导入导出文件,如下图:
4. 在模拟器中使用SD卡中的文件
(1)安装文件浏览器可以查看SD Card中的内容:
cmd中,进入Android SDK的安装路径下的tools目录中,运行:adb install F:\***.apk
该安装文件需下载。
(2)用模拟器中的Dev tools里面的scan查看SD Card中的内容。
导入文件后,如果要在模拟器中访问,还需要在模拟器中的Dev tools里面scan一下媒体文件,如下图:
注意:Dev tools只在simulator或者开发机中才会有,普通android手机没有这个菜单选项。
2. 将PC上文件拷贝到模拟器sdcard目录下,方法如下:
在windows下面我们可以用mtools来做管理,也可以用android SDK带的命令(这个命令在linux下面也可以用):
adb push local_file sdcard/remote_file
注意:显示的错误 error: device not found 是因为模拟器未启动,把模拟器启动后,该错误就没有
1.删除模拟器sdcard文件夹中指定的文件,方法如下:
adb remount
adb shell
cd sdcard
ls //该命令后将列出sdcard下所有文件
rm –r 文件夹名
这样就可以遍历删除指定的文件夹,如下:
--------------------------------------------------------------------------------
Failed to push XXXXX.txt on emulator- : Read-only file system
解决:在启动模拟器的时候带着的参数中,模拟器镜像路径需是绝对路径:-sdcard E:\android\android-sdk-windows\tools\sdcard.img
注意这个绝对路径里面不能带空格(如 Program Files)
注意:(卷标、标签)必须是sdcard。如 mksdcard -l sdcard 128M e:\haogood.image(而不能是mksdcard -l haogood 128M e:\haogood.image)
在2.2版SDK以后的ADT中,既可在新建ADV Android虚拟设备时创建一个虚拟盘,也可指定加载以前用mksdcard创建的image文件。
但默认的虚拟卡类型为SD Card。
这和实际Android硬件情形是一样的。
2.Failed to push items null
解决:这个时候需要重启下eclipse
3.Could not find SDK_Root\tools\adb.exe!
可能的原因是下载的sdk版本太新了。网上基本上有两种安装策略:一种是自己下载最新版android sdk;一种是先下载老版sdk(应该是1.6之前),然后加入eclipse,再设置eclipse进行更新。
4.Failed to push selection: Invalid argument
原因:android不支持中文名字的文件!
5.adb push 入/system 的时候Read-only file system
先adb remount将system改为读写模式