JNI ,调用布尔方法

2022-09-04 21:14:29

我得到了一个Java方法,它得到a并返回。Stringboolean

我从JNI调用它,如下所示:

jmethodID function2ID = env->GetMethodID(
                    activityClass,
                    "MyFuncName",
                    "(Ljava/lang/String;)B");
        if ( function2ID == null )
            LOG("Could not find MyFuncName Function")

            jboolean IsAutoPlay =    env->CallBooleanMethod(
                    obj,
                    function2ID,
                    env->NewStringUTF(name));

我得到致命的信号11,任何知道语法有什么问题吗?


答案 1

我的 Java 签名是返回而不是 .Booleanboolean

jmethodID function2ID = env->GetMethodID(
                    activityClass,
                    "MyFuncName",
                    "(Ljava/lang/String;)B");

需要代替 。ZB

jmethodID function2ID = env->GetMethodID(
                    activityClass,
                    "MyFuncName",
                    "(Ljava/lang/String;)Z");

答案 2

推荐