这是我的ImageTargets.java代码
package com.qualcomm.QCARSamples.ImageTargets;
public void changeIsDisplayed()
{
if(isDisplayed)
isDisplayed = false;
else
{
isDisplayed = true;
}
}
我正在尝试从此代码调用ImageTargets.cpp中的changeIsDisplayed:
JNIEXPORT void JNICALL
Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargetsRenderer_renderFrame(JNIEnv *env, jobject obj)
{
jclass javaClass = env->FindClass("com/qualcomm/QCARSamples/ImageTargets/ImageTargets");
jmethodID method = env->GetMethodID(javaClass, "changeIsDisplayed", "()V");
env->CallVoidMethod(obj,method);
}
但它一直在崩溃,并说有一个致命的jni错误。我似乎无法弄明白。这是从C ++调用java函数的最佳方法吗?
编辑:错误是 6347-6734 / com.qualcomm.QCARSamples.ImageTargets E / AndroidRuntime:FATAL EXCEPTION:GLThread 1231
编辑:抱歉缺乏信息和迟到的回复。我似乎很难进行错误检查,因为这是通过android让我更难记录它。我希望你明白。 编辑:错误检查时,它在FindClass方法行崩溃。有什么想法吗?