Java JNI和Android。。。不满意链接错误

Java JNI和Android。。。不满意链接错误,java,android,java-native-interface,android-ndk,Java,Android,Java Native Interface,Android Ndk,男人。。。这只虫子把我弄倒了 日志: 01-29 22:25:00.293: ERROR/AndroidRuntime(27386): FATAL EXCEPTION: main 01-29 22:25:00.293: ERROR/AndroidRuntime(27386): java.lang.IllegalStateException: Could not execute method of the activity 01-29 22:25:00.293: ERROR/AndroidRunt

男人。。。这只虫子把我弄倒了

日志:

01-29 22:25:00.293: ERROR/AndroidRuntime(27386): FATAL EXCEPTION: main
01-29 22:25:00.293: ERROR/AndroidRuntime(27386): java.lang.IllegalStateException: Could not execute method of the activity
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at android.view.View$1.onClick(View.java:2072)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at android.view.View.performClick(View.java:2408)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at android.widget.CompoundButton.performClick(CompoundButton.java:99)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at android.view.View$PerformClick.run(View.java:8819)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at android.os.Handler.handleCallback(Handler.java:587)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at android.os.Handler.dispatchMessage(Handler.java:92)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at android.os.Looper.loop(Looper.java:123)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at android.app.ActivityThread.main(ActivityThread.java:4627)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at java.lang.reflect.Method.invokeNative(Native Method)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at java.lang.reflect.Method.invoke(Method.java:521)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at dalvik.system.NativeStart.main(Native Method)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386): Caused by: java.lang.reflect.InvocationTargetException
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at com.example.viewer.Viewer.denoiseSlice(Viewer.java:170)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at java.lang.reflect.Method.invokeNative(Native Method)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at java.lang.reflect.Method.invoke(Method.java:521)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at android.view.View$1.onClick(View.java:2067)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     ... 12 more
01-29 22:25:00.293: ERROR/AndroidRuntime(27386): Caused by: java.lang.UnsatisfiedLinkError: RicianDenoise
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     at com.example.viewer.Viewer.RicianDenoise(Native Method)
01-29 22:25:00.293: ERROR/AndroidRuntime(27386):     ... 16 more
加载库并声明它:

    public native void RicianDenoise(int w, int h, int p, 
        short [] s_noised_slice, double [] d_noised_slice, 
        short [] s_denoised_slice, double [] d_denoised_slice);

    static {
        System.loadLibrary("denoise");
    }
C功能:

void 
Java_com_example_viewer_Viewer_RicianDenoise (JNIEnv *env, jclass cls, jint M, 
                                              jint N, jint P, jshort * s_noised_slice,
                                              jdouble * d_noised_slice, 
                                              jshort * s_denoised_slice, 
                                              jdouble * d_denoised_slice) {
    /* ... */
}
我跑

ndk build-B-C[项目]/jni


我什么也做不到。对此问题有何建议或经验?logcat中的调用行是我正在尝试调用函数,顺便说一句。谢谢。。。请成为我的英雄:(

您的库是否使用了其他C/C++库,这些库是否可以通过系统路径访问?

java中的数组不会在JNI中转换为C/C++中的数组类型指针

在本机端使用此方案声明数组:
对于double[]使用jdoubleArray

简而言之,[]使用jshortaray

,,,,…我想是这样吗?再一次,我不知道我是如何让它工作的。不幸的是,该函数只是让活动退出,没有错误消息…所以我们开始发现另一个bug:/稍后发现了。谢谢。