gpt4 book ai didi

java - CallStaticBooleanMethodV 的返回类型与 Java 方法签名不匹配 - 从 C/C++ 调用 Java 方法

转载 作者:行者123 更新时间:2023-11-28 00:18:10 24 4
gpt4 key购买 nike

我的 java 方法签名是 -

public static void JRequestRender()

在 C/C++ 中

void RequestRender()
{
...........
...........
jclass cls = env->GetObjectClass(g_JNIWrapperObj);
jmethodID mid = NULL;
if(cls) {
mid = env->GetStaticMethodID(cls, "JRequestRender", "()V");
}
if(mid)
env->CallStaticBooleanMethod(cls, mid);
env->DeleteLocalRef(cls);
.....................
}

这适用于除 Lollipop 之外的所有 Android 版本。 Lollipop 的错误日志是:

art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: the return type of CallStaticBooleanMethodV does not match void com.foo.bar.MyJniWrapper.JRequestRender()
..........................................
.............................................

最佳答案

JRequestRender 返回 void,而不是 bool。您需要使用 CallStaticVoidMethod。

关于java - CallStaticBooleanMethodV 的返回类型与 Java 方法签名不匹配 - 从 C/C++ 调用 Java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28956690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com