苹果iso开发:[18]Native问题
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调用