2016-03-22 86 views
0

在Java中,本地方法:jni無法從本機庫找到方法?

public native String hello();

package name: pack 

class name: Hello 

C++:方法名稱:

jstring 
Java_pack_Hello_hello 
(
    JNIEnv* env, 
    jobject this 
) 

我使用NDK編譯該文件,但應用程序崩潰;

我把這一行加入後:extern "C"進入我的hello.cpp 錯誤消失了,每件事都沒事。

爲什麼?

回答

1

如果未指定extern'C',JNI中使用的方法名稱格式與常規C和C++不同 JNI將無法找到匹配Java本地聲明的函數。 或者您可以試試RegisterNatives()