android 解决传送中文名文件到模拟器SD卡中

RT,android adb push命令解决中文名文件,把电脑本地的文件导入到Android模拟器AVD的SD卡中

1.通过adb push命令

PS:windows下不稳定,试了下中文名文件能传过去,但文件名为空,linux下可以。若win下该方法不行,参考第二种方法。字幕数字文件名不必说了,肯定没问题。

通过adb push,则可将文件添加到SD卡中。如果想在push的时候修改文件名称的话,只需要修改push的第二个参数改成完整路径(目录+文件名),如E:/videos/welcom.mp4。重启模拟器,则可以在见到SD卡中新添加的内容了。

adb push E:/videos/黄金时代.mp4   /sdcard/videos/(或/mnt/sdcard/videos/)(注意:此命令不要进入adb shell)

adb push E:/videos/黄金时代.mp4   /sdcard/videos/黄金时代改名.mp4(或/mnt/sdcard/videos/黄金时代改名.mp4)

而要将test.mp4提取出来的话,可使用adb pull命令。第二个参数为本机硬盘地址,如果不想改名的话,只需要输入目录地址(不能加\),而需要改名的话,输入文件的完整路径就行了。

2.使用UltraISO工具打开镜像文件sdcard.img(该镜像文件就是模拟器SD卡)

a.自己去下一个UltraISO,安装上之后,打开UltraISO。

b.然后选择"文件"—>"打开",将路径定义到sdcard.img(sdcard.img在.android\avd\AVD.avd\文件目录下)所在路径,成功打开了sdcard.img镜像文件,显示出SD卡中的文件。

c.然后选择videos文件夹,将准备好的含中文名称的文件复制并粘贴到该文件夹下,然后选择"文件"—>"保存",

d.可以看到文件已经成功导入到该镜像文件中,但是是否真的成功导入到模拟器中,需要打开模拟器看一下,于是启动模拟器,打开DDMS视图,看到SD卡里已经有了刚才导入的文件。

3.对adb工具的源代码进行修改

在windows底下文件(夹)命名所采用的是GBK编码,而在Android中采用的UTF-8编码,所有使用adb
的push和pull命令时就会导致由于编码方式的不同而产生的错误,解决这一问题就只有对adb工具的源代码进行修改,让adb对文件名的编码进行相应的转换。

  • 具体过程如下:使用ubuntu 12.04 下载android的源代码,具体过程参考网络,ubuntu一定要使用64位机,因为最新的android源代码只能在64位机进行编译。

参考:

1.http://www.blogjava.net/wangxinsh55/archive/2011/09/20/359046.html

2.http://www.cnblogs.com/dolphin0520/archive/2012/04/12/2443491.html

3.http://blog.csdn.net/lixiaodaoaaa/article/details/9770405

时间: 2024-12-29 10:45:40

android 解决传送中文名文件到模拟器SD卡中的相关文章

将android项目assets文件夹下的文件复制到SD卡中

<pre name="code" class="html">package com.lapel.activity.html; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import android.content.Context; /** * * 将assets文件夹下的文件复制

Android文件存储往SD卡中写入文件路径出错问题求解。

============问题描述============   因为学习需要  看的老罗的视频  关于数据存储往SD卡写文件的那一部分  几乎完全照办的敲的代码   结果在pad上测试的时候和预想的有区别     本来应该存储到SD卡中的文件结果跑到pad自带内存中去了...   然后我尝试过把路径直接自己手动写  还是一样存到了自带内存中  这到底是为什么啊? 顺带吐槽一下万恶的导师  十一还要我们加班 求大神们指导呀~   国庆节玩的开学哟!!! ============解决方案1======

Eclipse中查看Android模拟器SD卡目录

有时候用到Android模拟器来模拟SD卡相关操作,在Eclipse中可以直接查看SD卡目录: 首先,新建模拟器的时候要创建SD卡,存储的大小根据需要创建: 启动模拟器,在Eclipse中打开视图窗口:Window--Show View--File Explorer: 可以看到下面有mnt目录,mnt--sdcard 就是SD卡的目录, 也就是代码中 Environment.getExternalStorageDirectory()  的目录: 这样就可以很直观的看到代码对sd卡的操作,比如新建

android 往sd卡中写入文件

在调用前需要判断是否有写入权限 Environment类提供了比较丰富的方法 static File getDataDirectory() 获得android data的目录. static File getDownloadCacheDirectory() 获得下载缓存目录. static File getExternalStorageDirectory() 或者外部存储媒体目录. static File getExternalStoragePublicDirectory(String type

Android 手持PDA读取SD卡中文件

近两年市场上很多Wince设备都开始转向Android操作系统,最近被迫使用Android开发PDA手持设备.主要功能是扫描登录,拣货,包装,发货几个功能.其中涉及到商品档的时候大概有700左右商品要导入到Android设备中,因为现场操作环境没有WiFi ,所以商品档不能直接访问服务,将商品档记录到txt文件中. 一. 将txt文件存放到SD开中 将商品档编辑成为txt文件然后拷贝到SD卡中,当然也可以存储其他的数据格式,甚至可以使用Sqlite来存储,这里没有这个必要所以就直接使用txt 二

转-Android 之 使用File类在SD卡中读取数据文件

如果需要在程序中使用sdcard进行数据的存储,那么需要在AndroidMainfset.xml文件中 进行权限的配置: Java代码:   <!-- 在sd中创建和删除文件的权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <!-- 向SD卡中的写入权限 --> Java代码:   <uses-permission an

Android从网络某个地址下载文件、写入SD卡

首先创建一个HttpDownloader类,获取下载文件的网络地址,将文件下载下来以String流的方式返回: public String download(String urlStr){ //urlStr为文件的网络地址,如http://192.168.1.105:8080/mp3/resources.xml StringBuffer sb = new StringBuffer(); String line = null; BufferedReader buffer = null; try {

android文件保存到sd卡和内存

1.保存到SD卡中: 获取SDCard的状态: Environment.getExtemalStorageState() Environment.MEDIA_MOUNTED手机装有SDCard,并且可以进行读写 获取SDCard的目录:Environment.getExtemalStorageDirectory() //============================================= File saveFile=new File("/sdcard/zhzhg.txt&q

【记录】尝试用android-logging-log4j去实现log输出内容到sd卡中的文件的功能

[背景] 折腾: [记录]给Android中添加log日志输出到文件 期间,已经试了: [记录]尝试用android中microlog4android实现log输出到文件的功能 但是不好用. 然后就是参考: http://stackoverflow.com/questions/2116260/logging-to-a-file-on-android 去看看: http://code.google.com/p/android-logging-log4j/ [[折腾过程] 1.去: https://