JNI函数悖论

时间:2018-09-29 13:57:59

标签: android android-studio android-ndk java-native-interface

为什么Android Studio即使生成了JNI函数,也为什么会突出显示JNI函数的定义?例如: 函数声明- Declared functions

接下来,我使用Alt + Enter在CMakeList.txt指定的文件中生成这些功能:

Generated output

但是函数定义保持红色:

enter image description here

我找到了解决方案:只需在函数第二个参数中将“ jclass type”更改为“ jobject type”,问题就会消失!!! jclass类型-参数代表声明了JNI函数的类。从图片中,您可以看到JNI函数是静态的,因此它必须是“ jclass类型”(如Android Studio建议),而不是“ jobject”。这让我感到困惑... 有人解释了吗?

0 个答案:

没有答案