苹果iso开发:[18]Native问题

2024-10-29 06:00:44

NDK下面的 C++代码 无法被JAVA识别:

执行的过程中报错:

java.lang.UnsatisfiedLinkError: Native method not found:

经过排查发现是两个问题:

1) Android.mk里面:

最后生成的时候

LOCAL_MODULE :=testcmmb_jni 千万不能写成 libtestcmmb_jni!!!!虽然编译出来的文件名称貌似相同

2) C++ 的代码里面:

extern "C"{

。。。

}

这是因为生成的二进制文件中,C和C++的符号表不相同造成的。Jni是按照C的生成规则去找函数的, 所以要加上extern C使编译器把函数按照C的规则编译 这样才能被JAVA调用

猜你喜欢