在vivo设备上 调用
jstring str = env->NewStringUTF(charResult);
出现闪退问题报错:JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal start byte 0x9e
解决方案:
不使用NewStringUTF 从网上找了一个const char* 转jstring的函数 具体如下:
jstring str2jstring(JNIEnv *env, const char *pat) {
//定义java String类 strClass
jclass strClass = (env)->FindClass("java/lang/String");
//获取String(byte[],String)的构造器,用于将本地byte[]数组转换为一个新String
jmethodID ctorID = (env)->GetMethodID(strClass, "<init>", "([BLjava/lang/String;)V");
//建立byte数组
jbyteArray bytes = (env)->NewByteArray(