Android 模拟器中sdcard操作

时间:2023-02-10 22:04:15

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 push 进/system 的时候Read-only file system
先adb remount将system改为读写模式