首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安卓 jni 开发错误 UnsatisfiedLinkError: Native method not found

安卓 jni 开发错误 UnsatisfiedLinkError: Native method not found

作者头像
Java架构师历程
发布2018-09-26 16:25:09
1.5K0
发布2018-09-26 16:25:09
举报
文章被收录于专栏:Java架构师历程Java架构师历程

jni 开发的坑挺多的,今天遇到好多个,现在这个是这样的:

UnsatisfiedLinkError: Native method not found

很明显是因为 native 方法找不到,google 下发现该错误出现频率还蛮高的,基本有两种:

  • so 文件找不到

这个就需要配合手机 cpu 类型和 so 类型服用,仔细查看去吧,问题不大的。

  • native 方法名有误

我就是犯了这个错误,涉及 jni 开发最基本的知识点:

C语言方法命名规则 :

Java_完整包名类名_方法名(JNIEnv *env, jobject thiz)  //注意完整的类名包名中包名的点要用 _ 代替;

参数介绍 : C语言方法中有两个重要的参数, JNIEnv *env, jobject thiz ;

  1. JNIEnv 参数 : 该参数代表Java环境, 通过这个环境可以调用Java中的方法;
  2. jobject 参数 : 该参数代表调用jni方法的类;

好了,原来,我是调整了包名,而这个 native 方法名没有改,导致该错误的发生。

还是那句话,用心一点,用力一点,你会做的更好,加油吧,骚年!

分享是一种美德,更是一种生活方式!!

来自:http://jp1017.github.io/2016/03/22/%E5%AE%89%E5%8D%93-jni-%E5%BC%80%E5%8F%91%E9%94%99%E8%AF%AF-UnsatisfiedLinkError-Native-method-not-found/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年7月21日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档