【问题标题】:load java native file lib加载java本机文件库
【发布时间】:2012-11-11 15:56:39
【问题描述】:

我想使用一些本机文件并使用 android 项目中的一些文件。我需要这些文件用于我自己的 java 项目,并且需要导入 lib。

我正在尝试通过以下方式加载库:

static
{
    System.loadLibrary("mrclient_java");
}

lib 文件“libmrclient_java.so”在此文件夹中:“/libs/armeabi/”。

当我运行项目时出现以下错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no mrclient_java in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)

我不知道如何配置 CLASSPATH 或任何解决此问题的方法。 我没有在这个项目中使用 android。 android项目本身运行完美。

编辑:

我找到了这个问题:How to set the java.library.path from Eclipse,但仍然出现同样的错误。

【问题讨论】:

  • no mrclient_java in java.library.path 那么 java.library.path 是否指向 /libs/armeabi?
  • 是的,没错,但我不知道如何设置此路径。

标签: java native loadlibrary unsatisfiedlinkerror


【解决方案1】:

您必须将java.library.path 添加到运行java 的命令行中。类似于以下内容:

java -cp YOURCLASSPATH -Djava.library.path=/libs/armeabi/ com.compnay.Main

Classpath 仅用于加载 java 类。库路径用于加载原生库。

【讨论】:

  • 你能在运行时设置 java.library.path 吗?
  • (顺便说一句,我正在使用 Windows 和 Eclipse)您的命令结尾是否正确?我必须用我的包名或其他东西替换那个吗?
猜你喜欢
  • 1970-01-01
  • 2014-07-05
  • 2018-02-24
  • 1970-01-01
  • 2015-07-26
  • 2012-01-11
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多