我想在JNI中调用一个成员函数,但它会崩溃,我不会发生什么
这是我的Java代码
public int SERIAL_hashCode() {
String serial = Build.SERIAL;
return serial.hashCode();
}
我想在jni中实现这个功能
这是我的JNI代码
JNIEXPORT jint JNICALL native_SERIAL_hashCode(JNIEnv * env, jclass obj) {
jclass buildClass = (jclass)env->NewGlobalRef(env->FindClass("android/os/Build"));
jfieldID serialId = env->GetStaticFieldID(buildClass,"SERIAL","Ljava/lang/String;");
jobject serial = (jobject)env->GetStaticObjectField(buildClass,serialId);
jclass stringClass = (jclass)env->FindClass("java/lang/String");
jmethodID hashId = env->GetMethodID(stringClass,"hashCode","()I");
jint hash = (jint)env->CallObjectMethod(serial,hashId);
return hash;
}
但是当它运行时,它会崩溃,我的jni代码出了什么问题? 谢谢!