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