找不到原生

时间:2015-12-27 10:03:06

标签: java android eclipse android-ndk native

我有一个运作良好的测试项目。我试图在我的其他项目中使用本地库(以及相同的方法),我得到了这个错误:

W/dalvikvm(22240): No implementation found for native Lcom/example/myapp/Serial;.open:(Ljava/lang/String;IIZ)Ljava/io/FileDescriptor;

这是Serial类中的JNI代码:

// JNI
    private native static FileDescriptor open(String path, int baudrate,
                int flags, boolean flowCon);
    public native void close();

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

我的libs文件夹中的三个文件夹中有“libtest_lib.so”:armeabi,armeabi-v7a,x86。

我调试了应用程序,似乎在调用本机方法'open'之前调用了'System.loadLibrary'。所以我看不出错误的其他选项..

1 个答案:

答案 0 :(得分:1)

你可能从另一个项目中复制并粘贴了你的原型在你的c文件中重新定义为Java_Pacakage_JavaParentClass_functionName(JNIEnv * env,jobject thiz)