Android NDK C JNI(找不到本机的实现…)

Android NDK C JNI(找不到本机的实现…),第1张

概述我正在尝试使用带有C的NDK,并且似乎无法使方法命名约定正确.我的原生方法如下: extern "C" {JNIEXPORT void JNICALL Java_com_test_jnitest_SurfaceRenderer_drawFromJni(JNIEnv* env, jclass c){ //}} 标题包含在extern“C”{} aslo中. 一切编译都很好,创建一个. 我正在尝试使用带有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(找不到本机的实现…)所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1121442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存