JNI CPP实现jni接口,采用方法名来识别本地方法的方式(相对于动态加载) 报错解决方法

Posted 刘轩舟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JNI CPP实现jni接口,采用方法名来识别本地方法的方式(相对于动态加载) 报错解决方法相关的知识,希望对你有一定的参考价值。

No implementation found for native Lcom/dgut/android/MainActivity;.stringFromJNI ()Ljava/lang/String;

 

如果你确定方法名没有问题,那么就是本帖关键的地方所在了:

---------------com_centerm_util_MES_Nativie.h----------------

#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     com_centerm_util_MES_Nativie
 * Method:    testMacAddress
 * Signature: (Ljava/lang/String;)Z
 */
JNIEXPORT jboolean JNICALL Java_com_centerm_util_MES_1Nativie_testMacAddress
  (JNIEnv *, jclass, jstring);

#ifdef __cplusplus
}
#endif

---------------implement.cpp----------------

/*
 * Class:     com_centerm_util_MES_Nativie
 * Method:    testMacAddress
 * Signature: (Ljava/lang/String;)Z
 */

JNIEXPORT jboolean JNICALL Java_com_centerm_util_MES_1Nativie_testMacAddress
  (JNIEnv *, jclass, jstring){

 

}

 

--------------------------->

如果CPP文件里面的方法注释被删掉的话,so可以编译出来,但是运行时会报:

No implementation found for native Lcom/centerm/util/MES_Native;.testMacAddress (Ljava/lang/String)Z

以上是关于JNI CPP实现jni接口,采用方法名来识别本地方法的方式(相对于动态加载) 报错解决方法的主要内容,如果未能解决你的问题,请参考以下文章

在Android上部署深度学习模型之编写JNI接口

JNI官方中文资料

JNI的基本使用一

JNI的基本使用一

JNI的基本使用一

实现人脸识别APP