转自:http://hi.baidu.com/caijian5219999/blog/item/9a8849ea1467db2ab90e2d73.html
是不是你在使用android 模拟器的sd卡 上的应用时出现过如下的错误呢。。希望这篇文章能够对你有所帮助
ailed to push selection: Invalid argument
Failed to push the item(s).
待我一一到来:
篇章一:sd卡的创建:
有两种方式来创建sd卡:
在创建Android模拟器之初,就需要来对模拟器的sd卡进行创建 (ps: sd卡?你知道sd卡是什么吗?是干吗的?看最后面的介绍吧,不要打岔,接着往下走。。)
方法一:
如下图可以自定义一个大小,由系统来完成该模拟器 虚拟sd开的创建
创建完成后,启动该模拟器,打开eclipse的DDMS——>File-Explorer 看到如下的目录结构
这就是创建的sd 卡文件夹了
方法二:比较麻烦一点,但是更好理解 而且我已经试验过了 没有问题。
通过Android的Tools 来创建sd卡并导入进来
1.打开dos ,windows+R 键打开。转换到你的sdk安装包的tools目录下
如我的目录如下:D:\Android\android sdk\tools
2.创建sd卡 。在命令行中输入:mksdcard 1024M D:\android\sdcard.img
【这个1024M就是我们要创建的SD卡的大小,大家还是根据自己的需要来输入,最后面的那个D:\android\sdcard.img就是我们所设置的SD存放路径,这里也可以根据我们自己的需要改变路径的,但要注意路径中不能有空格出现】
注:输入好SD卡的大小和路径命令后。我们要稍等一下,因为电脑正在创建我们的SD卡。大约30秒后那个黑框又弹出了一行命令,这说明我们所要的SD卡已经创建成功了!
3.在eclipse里面创建模拟器,并以该sd卡来创建
4.创建完成之后,启动该模拟器。可以在Android SDK and AVD Manager 里面指定模拟器并启动
5.同样打开eclipse的DDMS——>File-Explorer 看到如下的目录结构
证明已经安装SD卡 成功了。。恭喜。。恭喜。。呵呵O(∩_∩)O~
篇章二:向sd卡里面上传文件
这里就会出现开头所说的异常问题了。仔细研究哦。
右边两个小手机按钮就是传输文件的按钮了,用它来实现文件的传入和传出了,向做的表示把手机里的文件导出,向右的表示把文件导入到手机里面。这事就有可能会爆出异常了。
1》ailed to push selection: Invalid argument
出现此异常,多半是文件所在的目录里面有中文或者文件的名字是中文导致的。建议修改一下试试。
还有就是观察自己的操作权限是不是不够,如果是:d---rwxr-x 那就是可以的。
如果,sd卡是在eclipse里面系统自动创建的,试着重启一下IDE。
2》Failed to push the item(s).
出现这个异常是因为,传输超时造成的。可以修改。
打开windows——Preference——android——DDMS
把 ADB connection time out 项的超时时间改大点,至于多大,那就随便你了。。
基本就解决了文件的上传问题了。这是我做的音乐播放器初始的模型,出来show一下
备注:文件最好是英文的,中文的文件名称,在Android 里面支持还有问题。我还没怎么搞清楚,就不再纠结了,先用英文的吧。。再继续研究了。。。。
ps:关于虚拟的sd卡的问题,应该好理解吧。以前的手机不都有一个很小的内存卡嘛,所以智能机也继承了这个特点。有的是在手机里面内置的,不可拆卸的。有的还是以前的那样支持拆卸的那种了。
还有就是,在别的机子上建立的SD卡镜像文件,传到另一台机子上是不可用的。因为这个镜像文件,是以本地机器的物理地址为依据,划分出了指定大小的硬盘空间作为模拟器的存储空间的。所以物理地址在不同的电脑上有可能会出现物理地址的冲突。是不可用的。你地,明白?
关于异常的处理办法,欢迎大家的补充哦。。