jna:找不到JNA原生支持

时间:2015-08-17 14:49:03

标签: java android jna

我正在使用this教程在android中使用C,但我在这一行有错误:

CTest ctest = (CTest) Native.loadLibrary("ctest", CTest.class);

这是错误:

  

引起:java.lang.UnsatisfiedLinkError:找不到JNA native   支持       at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:754)       在com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:736)       在com.sun.jna.Native。(Native.java:131)       ......还有15个

我把libctest.so放在libs文件夹中。 有什么问题?

1 个答案:

答案 0 :(得分:0)

JNA正在尝试加载libjnidispatch.o但无法找到它。如果在系统上找不到,JNA会尝试从jna.jar解压缩相应的库,这显然不在您的类路径中。

修改

对于android,您必须明确地将libjnidispatch.o与您的应用程序捆绑在一起。 Android不允许JNA自行解压缩和加载本机库。

另见this answer