繁体   English   中英

从android jni返回的int是错误的值

[英]int returned from android jni is the wrong value

我在android java中有一个int值约为100,我将其打印到日志中以确保。

当我从静态方法将其返回到C ++时,其值为1585156834

这是C ++代码

jint GameLayer::QueryBonesCollected()
{
jint jreturner;
jint returner;
JniMethodInfo methodInfo;
if (! JniHelper::getStaticMethodInfo(methodInfo, CLASS_NAME, "QueryCollectedBones", "          ()I")){
return 0;
}
methodInfo.env->CallStaticIntMethod(methodInfo.classID, methodInfo.methodID,jreturner);
methodInfo.env->DeleteLocalRef(methodInfo.classID);
returner=jreturner;
return returner;    }

和java方法:

public static int QueryCollectedBones()
{Log.v("keith", "BonesCollected=" + BonesCollected);
int returner=BonesCollected;
return returner;}

和java字段:public static int BonesCollected;

应该

jreturner = env->CallStaticIntMethod(methodInfo.classID, methodInfo.methodID);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM