使用本机代码时出错

时间:2014-05-12 13:40:07

标签: java eclipse native native-code unsatisfiedlinkerror

我在eclipse中有两个项目。 Project1和Project2。 Project1使用包含在其中的本机代码:

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

我将Project1添加到项目2的构建路径中.Project2从Project1中的类调用方法,该类使用本机方法。但是,我在运行Project2时遇到错误:

  

线程中的异常" main" java.lang.UnsatisfiedLinkError:没有   java.library.path中的thelibraryname

我的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

我发现错误与本机代码有关。可能我需要在某处提供对本机代码的引用,但我找不到如何。请注意,eclipse在编译时并不表示任何错误,仅在运行时。

我有什么想法可以解决这个问题? :)

编辑:

  • 我在64位平台上运行32位JRE。
  • 我试过:-Djava.library.path = / path / to / lib / x86(和witharmeabi-v7a和armeabi)。但它并没有改变任何东西。

1 个答案:

答案 0 :(得分:1)

这是一条指令 使用UTF-8编码,它将工作 http://stijndewitt.wordpress.com/2010/05/05/unicode-utf-8-in-eclipse-java/