转载 原文 https://blog.csdn.net/churuxu/article/details/49999575
ndk开发中,将c/c++的UTF8编码的字符串转换成java字符串,使用了NewStringUTF接口。
当字符串中包含emoji字符时,在有些手机上正常,有些手机会崩溃。
logcat错误信息类似:
NewStringUTF input is not valid Modified UTF-8
emoji字符utf8编码占用4个字节,有些手机下,NewStringUTF验证有效性会认为是错误的UTF8编码。
解决方法:
先将UTF8编码的字符串转成UTF16编码,再调用jni的NewString接口。