0
類別:爲什麼這個簡單的JNI對象構造會導致虛擬機中止和SIGSEGV?
package com.example.foo;
public class Dummy
{
int value;
public Dummy(int value)
{
this.value = value;
}
}
JNI片段:
jclass class = (*jni_env)->FindClass(jni_env, "com/example/foo/Dummy");
jmethodID constructor = (*jni_env)->GetMethodID(jni_env, class, "<init>", "(I)V");
jobject object = (*jni_env)->NewObject(jni_env, constructor, 0);
logcat的輸出:
09-03 11:02:02.937: W/dalvikvm(2179): Invalid indirect reference 0x44e9cf80 in decodeIndirectRef
09-03 11:02:02.937: E/dalvikvm(2179): VM aborting
09-03 11:02:02.937: A/libc(2179): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 2179
這是'17'在這裏表示的是什麼? – nmxprime
同樣的事情0在OP的NewObject()行中 - 構造函數的任意整數參數。 –