jjzjj

GetObjectClass

全部标签

java - "GetObjectClass"方法和"FindClass"方法区别及用法

在java原生接口(interface)中提供jclassclass=(*env)->FindClass(env,"ClassName");和jclassclass=(*env)->GetObjectClass(env,"ClassName");我想知道这两种方法的区别,以及它是如何通过类名找到一个类的,以及在什么情况下它可以为空。 最佳答案 GetObjectClass允许您检索对象的类,不知道类名。GetObjectClass的第二个参数是一个jobject,而不是类名。另一方面,如果您可以指定类名,FindClass会为您提供

安卓 JNI : GetObjectClass crashes with SIGSEGV (not a valid JNI reference)

我正在尝试创建一个新线程,因此我将VM从我的方法初始化(从Java调用)传递到我的新线程。在线程中,我调用AttachCurrentThread并获取JNIEnv*env。稍后,我尝试使用环境调用GetObjectClass,但它崩溃了。我相信这是因为对象可能未初始化,但我正在尝试调用在包含native方法的类中定义的方法。我一直在尝试遵循http://java.sun.com/docs/books/jni/html/fldmeth.html的第4.2节(开头).非常奇怪的事情:我正在使用运行2.2的HTCDream进行测试并且以下代码不会崩溃,但是使用运行2.2.2的摩托罗拉Droi