Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android NDK C JNI(找不到本机的实现…)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用带有C的NDK,并且似乎无法使方法命名约定正确.我的原生方法如下:

extern "C" {
JNIEXPORT void JNICALL Java_com_test_jnitest_SurfaceRenderer_drawFromJni
(jnienv* env,jclass C)
{
   //
}
}

标题包含在extern“C”{} aslo中.

一切编译都很好,创建一个.so文件并复制到我的项目下的libs文件夹,但是当我在Eclipse中调试并运行时,我不断收到“没有找到本机的实现……”的日志cat消息.因为所有NDK示例都在C中,我有什么遗漏吗?

谢谢.

解决方法

有一些事情可能导致“没有找到实施”.一个是使函数原型名称错误,另一个是无法加载.so.在使用该方法之前,您确定要调用System.loadLibrary()吗?

如果您没有定义JNI_OnLoad函数,则可能需要创建一个函数并让它发出日志消息,以验证是否已成功引入了lib.

你已经躲过了最常见的问题 – 忘记使用extern“C” – 所以它要么是上面的,要么是一些轻微的拼写错误. Java声明是什么样的?

大佬总结

以上是大佬教程为你收集整理的Android NDK C JNI(找不到本机的实现…)全部内容,希望文章能够帮你解决Android NDK C JNI(找不到本机的实现…)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。