jni loadlibrary,findLibrary返回null

时间:2013-07-28 17:33:47

标签: android java-native-interface

我已经检查了SO上的现有问题。我是第一次提问,但总是在这里寻找我的问题,并且通常会找到他们的解决方案。这次我不能。

我正在尝试使用echoprint的音频指纹识别API,我已经成功实现了代码。但是当我执行它时,我收到了这个错误:

        07-28 19:50:05.910: E/AndroidRuntime(23067): FATAL EXCEPTION: Thread-15102
        07-28 19:50:05.910: E/AndroidRuntime(23067): java.lang.UnsatisfiedLinkError: 
Couldn't load echoprint-jni from loader    dalvik.system.PathClassLoader[dexPath=/data/app/com.example.realapptest1-2.apk,
    libraryPath=/data/app-lib/com.example.realapptest1-2]: findLibrary returned null

我真的不知道如何解决这个问题。如果有帮助,api文件夹附带一个“jni”文件夹。但我完全不知道我应该做什么。

可以假设我正在使用Eclipse IDE。我的申请中没有错误。我有证据检查过,我的代码没有问题。

谢谢。

1 个答案:

答案 0 :(得分:1)

来自文档:link

UnsatisfiedLinkError: Thrown when an attempt is made to invoke a native for which an implementation could not be found.

您的应用尝试调用本机库但找不到它。确保构建本机库并调用

System.loadLibrary("your-library-name");

使用之前。

您可以阅读有关Android Ndk here的更多信息。

此外,这是一个很好的教程,可以让Ndk更容易理解:link