3

您好,我正在使用JNA来使用外部 .dll(我没有头文件,但我有文档,因此暴露了函数签名)。

我已按照此处的说明设法在 java 项目中使用我的 dll,现在我正尝试在 android 应用程序上使用相同的东西。

我在我的库中导入了 jna jar,还在我的构建路径中添加了 jar,但我收到了一个错误

The library 'jna-3.5.1.jar' contains native libraries that will not run on the device.
The following libraries were found:
com/sun/jna/linux-amd64/libjnidispatch.so
com/sun/jna/darwin/libjnidispatch.jnilib
com/sun/jna/linux-i386/libjnidispatch.so
com/sun/jna/sunos-x86/libjnidispatch.so
com/sun/jna/sunos-amd64/libjnidispatch.so
com/sun/jna/sunos-sparc/libjnidispatch.so
com/sun/jna/sunos-sparcv9/libjnidispatch.so

有任何想法吗?

4

2 回答 2

0

This deserves an answer...

Did you compile the lib you wanna use for android?

Why not write a JNI wrapper around those native libs, and invoke that from your android app?

于 2013-04-02T13:23:00.757 回答
0

浏览您的 jna.jar 并删除消息中显示的文件:

com/sun/jna/linux-amd64/libjnidispatch.so
com/sun/jna/darwin/libjnidispatch.jnilib
com/sun/jna/linux-i386/libjnidispatch.so
com/sun/jna/sunos-x86/libjnidispatch.so
com/sun/jna/sunos-amd64/libjnidispatch.so
com/sun/jna/sunos-sparc/libjnidispatch.so
com/sun/jna/sunos-sparcv9/libjnidispatch.so

然后也许你需要重新启动你的 IDE,这应该可以工作。

于 2016-03-22T10:55:18.010 回答