首页 > 代码库 > Android JNI WARNING: illegal continuation byte 0xd2
Android JNI WARNING: illegal continuation byte 0xd2
在sdcard中创建接收文件名字时候,由于文件名编码的问题导致下面的错误。
01-01 08:10:11.054: W/dalvikvm(1824): JNI WARNING: illegal continuation byte 0xd201-01 08:10:11.054: W/dalvikvm(1824): string: ‘???.docx‘01-01 08:10:11.054: W/dalvikvm(1824): in Ljava/io/File;.listImpl (Ljava/lang/String;)[Ljava/lang/String; (NewStringUTF)01-19 14:33:39.573: I/dalvikvm(566): "main" prio=5 tid=1 NATIVE01-19 14:33:39.573: I/dalvikvm(566): | group="main" sCount=0 dsCount=0 obj=0x40997460 self=0x1281001-19 14:33:39.573: I/dalvikvm(566): | sysTid=566 nice=0 sched=0/0 cgrp=default handle=107408295201-19 14:33:39.573: I/dalvikvm(566): | schedstat=( 334860174 892884911 75 ) utm=13 stm=20 core=001-19 14:33:39.573: I/dalvikvm(566): at java.io.File.listImpl(Native Method)01-19 14:33:39.573: I/dalvikvm(566): at java.io.File.list(File.java:749)01-19 14:33:39.573: I/dalvikvm(566): at java.io.File.listFiles(File.java:791)
在网上找了一个可能解决的办法,修改checkjni.c文件。但是感觉不是特别靠谱。具体没有尝试这种方法可不行不。通过搜索相关错误,我坚信应该是字符串编码问题导致。在参考这个贴子,完美解决了这个问题。这个帖子链接:https://groups.google.com/forum/#!topic/android-developers/y4lyEccZ--g
在帖子提供解决的方法:
Convert this string into UTF-8 first,then call NewStringUTF
eg:fileName=new String(fileName.getBytes(), "UTF-8");
Android JNI WARNING: illegal continuation byte 0xd2
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。