C或C++中使用NewStringUTF来创建字符串
extern "C" JNIEXPORT jstring JNICALL
Java_com_example_myapplication_MainActivity_stringFromJNI(
JNIEnv *env,
jobject /* this */) {
std::string hello = "你好";
return env->NewStringUTF(hello.c_str());
}
使用GetStringChars或者GetStringUTFChars将Java字符串转为C或者C++字符串
extern "C"
JNIEXPORT void JNICALL
Java_com_example_myapplication_MainActivity_stringFromJNI(JNIEnv *env, jobject instance,
jstring s_) {
const char *s = env->GetStringUTFChars(s_, 0);
env->ReleaseStringUTFChars(s_, s);
}
网友评论