Search code examples
javaappletjava-native-interface

unsupported JNI version 0xFFFFFFFF


has anyone encountered that error while using native dll from java code? Is it the version of the JNI library? or an unresolved dependency?

The error:

Caused by: java.lang.UnsatisfiedLinkError: unsupported JNI version 0xFFFFFFFF required by C:\jnwasapi.dll
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(Unknown Source)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)

This is a new library I'm using, the others working fine.


Solution

  • The jnwasapi.dll's JNI_OnLoad function is probably returning -1, which is not an expected value. The JNI_OnLoad function must return a jint with a known constant, such as JNI_VERSION_1_6. It's common for JNI_OnLoad functions to return -1 if they fail to initialize. For example, it may have tried to load a class which couldn't be found.