从eclipse插件调用驻留在项目文件夹中的.so文件中的方法

时间:2013-03-01 09:52:40

标签: eclipse-plugin nativelibrary

我为Eclipse开发了一个插件,它必须访问本机库。

.so文件是否必须位于/usr/lib以便插件访问它?除非它存在,否则我的插件无法访问其中的方法。我需要我的插件来访问自身内部的.so,这样即使我部署插件,它也可以在没有任何配置更改的情况下工作。我使用System.loadLibrary()来加载.so但是即使我在System.load()中使用其完整路径加载库,除非我将.so文件复制到/usr/lib,否则它不起作用。

如何让我的插件从其自己的源文件夹访问它?

1 个答案:

答案 0 :(得分:0)

您需要将Bundle-NativeCode指令添加到MANIFEST.MF。以下是关于如何制定它的几个链接:

Secrets of Bundle-NativeCode

Bundle-NativeCode in the OSGi manifest

请注意,您在指令中提供的路径是相对于插件目录结构的。例如,'/ mylibrary.so'表示文件位于插件的根目录中。