1. 程式人生 > >java.lang.UnsatisfiedLinkError: Native method not found:問題解決

java.lang.UnsatisfiedLinkError: Native method not found:問題解決

這個問題一般是java宣告的native方法名稱和.c .h裡面的函式名稱不一樣導致,特別注意專案更換的時候包的名稱,因為.c .h裡面的函式名稱要加上在java裡面包的名稱。

如之前專案包名是:

package com.example.hellojni;

.c .h裡面對應:

JNIEXPORT void JNICALL Java_com_example_hello_JniInterface_nativeInit
  (JNIEnv *, jobject);

移植so到其他工程,

新工程包

package com.example.test;

則.c ..h需要更改成如下:

JNIEXPORT void JNICALL Java_com_example_test_JniInterface_nativeInit
  (JNIEnv *, jobject);