2016-03-22 2 views
0

в Java, нативный метод:jni не может найти способ из родного lib?

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

Формат имен методов, используемых в JNI отличается от регулярных C и C++ , если вы не укажете Экстерн «C» JNI будет не в состоянии найти функцию в соответствии с вашей Java Native декларации. в качестве альтернативы вы можете попробовать RegisterNatives()

Смежные вопросы