Java 图书馆';jna-4.2.2.jar';包含不会在Android设备上运行的本机库

Java 图书馆';jna-4.2.2.jar';包含不会在Android设备上运行的本机库,java,android,jna,Java,Android,Jna,我已经从internet下载了jna-4.2.2.jar,现在想将这个jar导入到我的项目中。但是当我试图将这个jar导入到我的项目中时,我得到了以下错误 [2016-06-20 09:35:01 - FaceVerificationApplication] The library 'jna-4.2.2.jar' contains native libraries that will not run on the device. [2016-06-20 09:35:01 - FaceVerifi

我已经从internet下载了jna-4.2.2.jar,现在想将这个jar导入到我的项目中。但是当我试图将这个jar导入到我的项目中时,我得到了以下错误

[2016-06-20 09:35:01 - FaceVerificationApplication] The library 'jna-4.2.2.jar' contains native libraries that will not run on the device.
[2016-06-20 09:35:01 - FaceVerificationApplication] The following libraries were found:
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/darwin/libjnidispatch.jnilib
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/linux-x86/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/linux-x86-64/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/linux-arm/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/linux-aarch64/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/linux-ppc64/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/linux-ppc64le/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/linux-sparcv9/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/sunos-x86/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/sunos-x86-64/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/sunos-sparc/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/sunos-sparcv9/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/freebsd-x86/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/freebsd-x86-64/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/openbsd-x86/libjnidispatch.so
[2016-06-20 09:35:01 - FaceVerificationApplication]  - com/sun/jna/openbsd-x86-64/libjnidispatch.so

如何解决此错误?任何建议都有很大帮助

似乎您的JAR包含的本机库不是为Android(而是Linux、BSD、SunOS)构建的。您应该查找包含使用Android NDK构建的ELF(*.so文件)的JAR


我不确定,但您可能可以找到合适的本机二进制文件。

为了方便起见,基本jna.jar包含了一系列桌面平台的二进制文件。有时,特定的部署需求需要不同的配置,此时您需要只包含适合您的情况的代码和/或二进制文件

Android要求在应用程序构建和部署过程中以特定的方式专门加载本机库


您需要明确地只添加android二进制文件,并从构建中省略其他文件。

我已经解决了我的问题。添加jna-4.2.2.jar之后,在Eclipse中,我必须进入窗口>首选项>Android>构建>取消选中“外部jar包含本机库时强制出错”。那么这个问题就解决了

在添加这些jar之后,当我尝试运行我的项目时,我遇到以下错误:转换为Dalvik格式失败:无法执行dex:Java堆空间尝试此梯度。。。。。使用eclipse的项目中的依赖项{compile'net.java.dev.jna:jna:4.2.2'}。您确定这是错误消息而不是警告消息吗?在任何情况下,您都可以使用ZIP工具打开jar文件,并从jar内部删除提到的文件。