No JNI_OnLoad found skipping init > Application shutdown

后端 未结 4 1870
情歌与酒
情歌与酒 2021-01-04 03:05

Folks,

I am working on an android application where I need a third party .so library. I built this third party library (with ndk-build) as per their instructions and

相关标签:
4条回答
  • 2021-01-04 03:50

    As mentioned in the previous answers, No JNI_OnLoad is only a warning.

    I had got similar problem, I figured the problem is because of file operations.

    My app was not having external storage write permission.After adding the below code in manifest it was working fine

    0 讨论(0)
  • 2021-01-04 03:53

    As guycole said "No JNI_OnLoad" is just a warning , your problem lies elsewhere .

    As you mentioned you successfully compiled your "so" file , the problem may lie in your function signatures inside your c/C ++ code it should be something like this

    JNIEXPORT jint JNICALL Java_com_your_package_class_method(JNIEnv *d, jobject e, jstring f)
    {
    //some action
    
    }
    

    The function signatures comes from the header file which is generated using javah tool.You need to generate header file and use the function signature with your package name. For different package and class names the header file and corresponding function signature will change .

    worked pretty neat with the original sample app from the third party
    

    This might be the reason its running on the sample app and not on your app.

    refer: https://thenewcircle.com/s/post/49/using_ndk_to_call_c_code_from_android_apps

    0 讨论(0)
  • 2021-01-04 03:57

    It also comes with this log

    ??-?? ??:??:??.???: INFO/(): java.lang.UnsatisfiedLinkError: Couldn't load *: findLibrary returned null

    right??

    I think it's the problem of android.mk files. 1:try to swith to armabi v7. 2:load funciton will call open(). check permission of the so.

    0 讨论(0)
  • 2021-01-04 03:59

    The "No JNI_OnLoad" message is just a warning. JNI_OnLoad is an optional initialization hook.

    I guess your problem is inside the openFile() method. Try commenting out the call from Java and see how far you get.

    I have a blog post about JNI and some sample code at http://guycole.blogspot.com/2012/03/yet-another-android-ndk-blog-posting.html - perhaps you will find it useful.

    Good luck.

    0 讨论(0)
提交回复
热议问题