如何在导出到jar

时间:2017-08-20 15:14:19

标签: java android opencv jar

我正在准备jar,比较图像并相应地返回结果。 我正在使用OpenCV进行比较。当我导出jar并提供给我的同事在Android应用程序中使用它时,他在下一行收到错误。

System.loadLibrary(CORE.NATIVE_LIBRARY_NAME);

在检查时,我发现该库正在从我系统上的本地路径中消耗。如何在JAR中传递以下库,以便每次都可以使用它。

此外,我不确定它是否会工作,因为System.loadLibrary试图从系统中的JAVA路径消耗。 是否可以从classpath加载此库?

公开征求建议。

1 个答案:

答案 0 :(得分:0)

本机库依赖于JVM之外的库,不能以可移植的方式添加到Java应用程序。话虽如此:您仍然可以通过打开jar文件(包含zip文件,添加文件,并通过路径引用)来将文件包含在jar中(例如:/yourlibs/bla.lib

从罐子装载将是:

   NativeUtils.loadLibraryFromJar("/yourlibs/bla.lib");

您可能会错过很多依赖项,并且会通过阅读文档,扫描代码和测试代码手动完成所有这些依赖项,然后它可能仍然仅限于某些操作系统安装。