【发布时间】:2014-01-23 23:43:18
【问题描述】:
- 我有大量的 C 源文件,编译后会生成一个共享库。
- 还有一个Java版本使用JNA来访问已经构建好的c共享库。这些文件在另一个 jar 中可用。这个jar依赖于jna。
首先我编译了c文件,然后编译了java代码。在java中,没有错误。仅当我尝试将其移植到 android 时才会出现问题。我可以使用 android 'ndk-build' 工具轻松编译 c 文件。这样就成功创建了共享库。
由于类似于以下内容,我无法在 Android 项目中导入 JNA:Android - JNA library
但是我不明白那篇文章中的 cmets。是否可以在 Android 中使用 JNA?
我尝试从 jna.jar 中删除一些文件(对应于其他架构的文件)。然而,我得到了同样的错误: 库“jna.jar”包含不会在设备上运行的本机库。 包括:“com/sun/jna/android-arm/libjnidispatch.so”
jar(带有 C 库的 java 包装器的那个)被导入,我可以编写代码。 但是,我使用这个 jar 中的类创建的第一个对象仍然会得到“ExceptionInInitializerError”。
我不精通java。我只有菜鸟的知识。请容忍我并提供帮助。谢谢。
【问题讨论】:
-
您是否使用 Eclipse 进行构建?
-
@user3228292 如果建议的答案有效,请不要忘记接受它
-
我会试试这个并尽快回来。
标签: android java-native-interface jna