我正在尝试char*
在 android 中使用 JNI 从 C++ 传递到 java。我尝试了多种方法来传递该数据
1)使用NewStringUTF
:
const char* data = getData(); // this method returns a char array.
env->NewStringUTF(data);
执行上述代码会引发以下错误
JNI WARNING: input is not valid Modified UTF-8: illegal continuation byte 0x70.
2)使用NewString
:
const char* data = getData(); // this method returns a char array.
// passing a byte array to java
jbyteArray trackIDArray = env->NewByteArray(strlen(data));
env->SetByteArrayRegion(trackIDArray, 0, strlen(data), (const jbyte*)trackID);
在 java 方面,我得到了一些垃圾值。我不明白如何将此char
数组用于 Java。