yang_elbert
yang_elbert
2011-07-05 10:45

jni 如何把char*转换成jstring类型???

  • android

在jni 使用中,需要把一个char*类型的转成jstring类型,我用了如下方法:
jstring stoJstring(JNIEnv* env, const char* pat)
{
jclass strClass = env->FindClass("Ljava/lang/String;");
jmethodID ctorID = env->GetMethodID(strClass, "", "([BLjava/lang/String;)V");
jbyteArray bytes = env->NewByteArray(strlen(pat));
env->SetByteArrayRegion(bytes, 0, strlen(pat), (jbyte*)pat);
jstring encoding = env->NewStringUTF("utf-8");
return (jstring)env->NewObject(strClass, ctorID, bytes, encoding);
}
可是在调用到这个方法的时候,报错:
Caused by :
Ljava/lang/ClassNotFoundException;: Ljava.lang.String; in loader dalvik.system.PathClassLoader@43d0b768
不懂为什么,是不是需要什么头文件,或是工程中要导入什么包啊?
各位,帮忙看一下了啦...

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

2条回答

为你推荐