`

模拟器中使用SD卡

阅读更多
刚才研究了一下模拟器中使用SD卡的东西,按照别人写的教程一步步的做下来,发现问题多多,还好一一解决。

使用版本:android 2.2
前提条件:配置好sdk的环境变量,在windows的命令行下进行命令执行。
友情提示:如果没有配置sdk的环境变量,需要在cmd命令行中进入../sdk/tools 文件下执行(新手容易犯得毛病)

模拟器中创建SD卡步骤
1.创建镜像文件
mksdcard [-l label] <size> <file>
创建一个128M的名为sdCardTest的sd镜像文件
mksdcard  128M E:\sdCardTest.iso

.iso的后缀应该是没有什么太大的意义,因为我用的是.iso,而很流行的有人在用.img的格式,具体的影响目前还没有发现

2.启动模拟器,并加载SD卡镜像文件
启动名为netAVD的模拟器,并加载sdCardTest的sd卡镜像文件
emulator -avd netAVD -sdcard E:\sdCardTest.iso

--看的其他的文章上,说直接emulator -sdcard E:\sdCardTest.iso就可以加载镜像文件,我没有成功,如果avd有开启的话会报
emulator: ERROR: You did not provide the name of an Android Virtual Device
with the '-avd <name>' option. Read -help-avd for more information.

If you *really* want to *NOT* run an AVD, consider using '-data <file>'
to specify a data partition image file (I hope you know what you're doing).

的错误,不知道是不是因为我创建了多个模拟器的原因,所以我直接指定特定的模拟器。

3.复制文件(只有启动模拟器并加载了镜像文件才能进行)
  adb push <local> <remote>    - 复制系统文件到SD卡镜像
  adb pull <remote> [<local>]  - 从SD卡中复制文件

执行:adb push E:\sql.txt sdcard/sql.txt
这儿要注意几个问题:
    E:\sql.txt这个要带后缀,如果名字中间有空格的话要用"",
    sdcard/sql.txt  -- sdcard这个是个关键字来的,和你创建的镜像文件名无关,后面的sql.txt应该是sd卡中的文件名,这个一定要带,如果不带的话会报错
failed to copy 'E:\sql.txt' to 'sdcard': Read-only file system

看的别的文章中有写的是:adb push E:\sql.txt /sdcard
在我这儿有报错:failed to copy 'E:\sql.txt' to '/sdcard': Is a directory
具体哪儿有问题还没有深究


可以往sd卡中拷贝文件了,但是不能拷贝或创建文件夹,研究了ddms也没有很好的解决这个问题,只能使用shell进行操作了
1.在命令行中输入:adb shell 进入shell中
2. 进入sdcard文件下
# cd mnt--进入mnt文件下
#cd sdcard --进入sdcard下
mkdir document --创建一个名为document的文件夹





分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics