首页 > 代码库 > android 解决传送中文名文件到模拟器SD卡中

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




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