jni 开发的坑挺多的,今天遇到好多个,现在这个是这样的:
UnsatisfiedLinkError: Native method not found
很明显是因为 native
方法找不到,google 下发现该错误出现频率还蛮高的,基本有两种:
这个就需要配合手机 cpu 类型和 so 类型服用,仔细查看去吧,问题不大的。
我就是犯了这个错误,涉及 jni 开发最基本的知识点:
C语言方法命名规则 :
Java_完整包名类名_方法名(JNIEnv *env, jobject thiz) //注意完整的类名包名中包名的点要用 _ 代替;
参数介绍 : C语言方法中有两个重要的参数, JNIEnv *env, jobject thiz ;
JNIEnv
参数 : 该参数代表Java环境, 通过这个环境可以调用Java中的方法;jobject
参数 : 该参数代表调用jni方法的类;好了,原来,我是调整了包名,而这个 native 方法名没有改,导致该错误的发生。
还是那句话,用心一点,用力一点,你会做的更好,加油吧,骚年!
分享是一种美德,更是一种生活方式!!