我可以使用System.loadLibrary("")
成功加载本机库,但是当我从该库调用本机方法时,我收到UnsatisfiedLinkError
,找不到该方法的实现。
但是这段代码可以在另一个应用程序中运行,不管怎样我的不是。
答案 0 :(得分:3)
您是否更改了jni方法中的packageName,它应该是Java_com_example_yourapp_methodname(JNIEnv * env, jobject thiz)
,其中com_example_yourapp是您调用该方法的类的包的引用。
之后,你又打电话给ndk-build
吗?
答案 1 :(得分:1)
建议使用Erik N方法,但由于VM需要使用上述签名搜索函数调用,因此会对性能产生一些影响。相反,您可以使用签名映射函数并在JNI_OnLoad()函数调用上注册它们。
http://docs.oracle.com/javase/1.4.2/docs/guide/jni/spec/functions.html#wp5833