如何解决使用GetFieldIdJNI
我对JNI经验不足,正在访问java的静态对象以进入c ++。
My Java file:
Class ABC{
public static ABC abc = null;
//some functions
}
在我的cpp文件中:
还有另一个用于初始化abc的类,我希望将该值保存到我的cpp文件中。
为此,我正在做的是:
在ABCJNI.h
static jfieldID fid;
jobject DatainJNI;
static jobject DataRetrived;
static ABCJNI abcjni; //purpose is to take value of ABC abc to here in ABCJNI abcjni
ABCJNI::initialize(){
cls = StubJava::env->FindClass("metronome");
constructorMetronomeData = StubJava::env->GetMethodID(cls,"<init>","()V");
fid = StubJava::env->GetStaticFieldID( cls,"abc","()LABC;");
if (fid == 0)
return 1;
DataRetrived = StubJava::env->GetStaticObjectField( cls,fid);
abcjni = ABCJNI(DataRetrived);
return 0;
}
ABCJNI::ABCJNI(jobject retrivedvalue)
{
jobject FinalInstance=retrivedValue;
}
但是我在这一行收到编译错误abcDatainJNI = ABCJNI(DataRetrived); //它说未定义引用?我也不确定获取对象的值。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com(将#修改为@)