Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android的JNA 我有一个巨大的C源文件集,编译后会生成一个共享库 还有一个Java版本使用JNA访问已经构建的c共享库。这些文件在另一个jar中可用。这个jar依赖于jna_Android_Java Native Interface_Jna - Fatal编程技术网

android的JNA 我有一个巨大的C源文件集,编译后会生成一个共享库 还有一个Java版本使用JNA访问已经构建的c共享库。这些文件在另一个jar中可用。这个jar依赖于jna

android的JNA 我有一个巨大的C源文件集,编译后会生成一个共享库 还有一个Java版本使用JNA访问已经构建的c共享库。这些文件在另一个jar中可用。这个jar依赖于jna,android,java-native-interface,jna,Android,Java Native Interface,Jna,首先我编译了c文件,然后编译了java代码。在java中,没有错误。只有当我尝试将其移植到android时,问题才会出现。我可以使用android的“ndk构建”工具轻松编译c文件。这将成功创建共享库 我无法在Android项目中导入JNA,原因类似于: 然而,我不理解那篇文章中的评论。有可能在Android中使用JNA吗 我尝试从jna.jar中删除一些文件(对应于其他架构的文件)。然而,我得到了同样的错误,那就是: 库“jna.jar”包含不会在设备上运行的本机库。 包括:“com/sun/

首先我编译了c文件,然后编译了java代码。在java中,没有错误。只有当我尝试将其移植到android时,问题才会出现。我可以使用android的“ndk构建”工具轻松编译c文件。这将成功创建共享库

我无法在Android项目中导入JNA,原因类似于:

然而,我不理解那篇文章中的评论。有可能在Android中使用JNA吗

我尝试从jna.jar中删除一些文件(对应于其他架构的文件)。然而,我得到了同样的错误,那就是: 库“jna.jar”包含不会在设备上运行的本机库。 包括:“com/sun/jna/android arm/libjnidispatch.so”

jar(C库的java包装器)被导入,我可以编写代码。 但是,使用这个jar中的类创建的第一个对象仍然会得到“ExceptionInInitializerError”


我对java不是很精通。我只知道一个新手。请容忍我,帮帮我。谢谢。

也许这就是你想要的:

  • 将Android SDK/NDK工具添加到路径中(由native/Makefile使用)
  • 设置环境变量NDK_PLATFORM(由native/Makefile使用)
  • 使用:ant-Dos.prefix=android arm dist构建
  • 测试必须在目标平台上运行,而不是在构建平台上运行
  • 根据需要将dist/jna.jar和/或dist/platform.jar添加到应用程序中
  • 如果您使用的是android maven插件,那么jna.jar可以原样使用(本机库将自动复制到您的项目中)
  • 如果您使用的是Google的Eclipse插件,那么必须手动从jna.jar/lib/armeabi中删除libjnidispatch.so,并将其添加到项目的libs/armeabi目录中
  • 有关更多信息,请参阅和

复制自:

您是否使用Eclipse进行构建?@user3228292如果建议的答案有效,请不要忘记接受itI,我将尝试并尽快返回。请澄清以下内容,1。使用:ant-Dos.prefix…构建。。。。B用这个做什么?2.测试必须在目标上运行,而不是构建平台-请澄清,我不明白。目标平台和构建平台都是Android,对吗?对不起,如果我错了。如前所述,我只是复制了描述,请尝试直接联系JNA的人。它不起作用。我不必构建JNA,因为android arm的版本已经可以作为jar下载。