java JNI error java.lang.UnsatisfiedLinkError:

5 java-native-interface

java -Djava.library.path=. TestJNI
>>>>

Exception in thread "main" java.lang.UnsatisfiedLinkError: TestJNI.calibrate([D[DII)[D
 at TestJNI.calibrate(Native Method)
 at TestJNI.main(TestJNI.java:61)
Run Code Online (Sandbox Code Playgroud)

我知道库正在加载,否则错误说无法找到校准库.上述错误是什么意思?

编辑

这是我的实施 -

JNIEXPORT jdoubleArray JNICALL Java_TestJNI_cailbrate (JNIEnv * env, jobject jobj, jdoubleArray rtt, jdoubleArray distance ,jint activecount,jint passivecount) {
jdoubleArray jresult = (*env)->NewDoubleArray(env,3);
 .......
return jresult;
}
Run Code Online (Sandbox Code Playgroud)

参数声明是否正确?

Ang*_*jpt 7

此消息表示Java正在查找看起来像Java方法的本机方法

double[] calibrate(double[], double[], int, int)
Run Code Online (Sandbox Code Playgroud)

如果您已正确生成头文件并构建库,这很可能意味着您缺少该方法的实现.

想到的一些事情:

  • 实施该方法后,您重建了库吗?
  • 在构建库之后,您是否碰巧更改了Java方法的界面?