JNI,调用布尔方法

ibm*_*123 12 java java-native-interface android

我得到了一个获得String并返回的Java方法boolean.

我从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));
Run Code Online (Sandbox Code Playgroud)

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

ibm*_*123 13

我的Java签名是返回Boolean而不是boolean.

jmethodID function2ID = env->GetMethodID(
                    activityClass,
                    "MyFuncName",
                    "(Ljava/lang/String;)B");
Run Code Online (Sandbox Code Playgroud)

需要Z代替B.

jmethodID function2ID = env->GetMethodID(
                    activityClass,
                    "MyFuncName",
                    "(Ljava/lang/String;)Z");
Run Code Online (Sandbox Code Playgroud)