Java 使用本机代码时出错

Java 使用本机代码时出错,java,eclipse,native,native-code,unsatisfiedlinkerror,Java,Eclipse,Native,Native Code,Unsatisfiedlinkerror,我在eclipse中有两个项目。项目1和项目2。Project1使用本机代码,包括: static { System.loadLibrary("thelibraryname"); } 我将Project1添加到project2的构建路径中。Project2从Project1中使用本机方法的类调用方法。但是,我在运行Project2时遇到一个错误: 线程“main”java.lang.UnsatifiedLink中出现异常错误:否 java.library.path中的库名 我的ecli

我在eclipse中有两个项目。项目1和项目2。Project1使用本机代码,包括:

static {
    System.loadLibrary("thelibraryname");
}
我将Project1添加到project2的构建路径中。Project2从Project1中使用本机方法的类调用方法。但是,我在运行Project2时遇到一个错误:

线程“main”java.lang.UnsatifiedLink中出现异常错误:否 java.library.path中的库名

我的eclipse项目的目录结构如下所示:

Project1
    Android 1.6
    Android Dependancies
    src/
    bin/
    libs/
        armeabi/
            libthelibraryname.so
        armeabi-v7a/
            libthelibraryname.so
        x86/
            libthelibraryname.so
    <some-other-dirs-and-files>
Project2
    src/
        Testing.java
    Junit
    JRE System Library
Project1
安卓1.6
Android依赖性
src/
垃圾箱/
自由基/
阿姆亚比/
libthelibraryname.so
armeabi-v7a/
libthelibraryname.so
x86/
libthelibraryname.so
项目2
src/
Testing.java
测试框架
JRE系统库
我发现这个错误与本机代码有关。可能我需要在某个地方提供对本机代码的引用,但我找不到如何提供。请注意,eclipse在编译时不指示任何错误,仅在运行时指示

有什么办法可以解决这个问题吗?:)

编辑:

  • 我在64位平台上运行,带有32位JRE
  • 我尝试了:-Djava.library.path=/path/to/lib/x86(以及使用armeabi-v7a和armeabi)。但这并没有改变任何事情
    • 这里有一个说明 使用UTF-8编码,它将工作

      您是否在64位平台上运行此功能?您正在使用32位JRE吗?您是否尝试过使用
      -Djava.library.path=/path/to/lib/folder
      ?对于初学者,请尝试打印java.library.path属性的值。如果你的库的位置不在上面,你需要确保它在上面。我编辑了我的答案来回答上面的评论。如果JRE是32位的,那么你试图加载的库也需要是32位的。是吗?你的链接不对。但我想是这样的:你能详细说明一下为什么它会有帮助吗?