jni无法从本地lib找到方法吗?

时间:2016-03-22 07:17:52

标签: java android c++ android-ndk

Java中的

,本机方法:

public native String hello();

package name:  pack

class name: Hello

C ++:方法名称:

jstring
Java_pack_Hello_hello
(
    JNIEnv* env,
    jobject this
)

我使用ndk编译此文件,但app崩溃;

我将此行添加到extern "C"hello.cpp 错误消失了,一切都还好。

为什么?

1 个答案:

答案 0 :(得分:1)

JNI中使用的方法名称格式与常规C和C ++不同 如果你没有指定extern'C' JNI将无法找到与您的Java本机声明匹配的函数。 或者你可以试试RegisterNatives()