首页 > 代码库 > Android error--No implementation found for native Lcomd
Android error--No implementation found for native Lcomd
在利用NDK编译Cpp执行时,出现了No implementation found for native Lcom等错误,调试好久,才发现
XXX.h和XXX.cpp。在XXX.cpp里#include XXX.h。竟然出现了No implementation found for native Lcom。
然后,XXX.h删除。所有在XXX.cpp里实现,居然通过了。
NDK是不能直接include 编译(javah)出来的XXX.h。假设真要包括至少要删减一些语句。
当然,能够include 其它.h文件。
/* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /* Header for class com_ndk_test_JniClient */ //#ifndef _Included_com_ndk_test_JniClient //#define _Included_com_ndk_test_JniClient #ifdef __cplusplus extern "C" { #endif /* * Class: com_ndk_test_JniClient * Method: AddStr * Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_ndk_test_JniClient_AddStr (JNIEnv *, jclass, jstring, jstring); /* * Class: com_ndk_test_JniClient * Method: AddInt * Signature: (II)I */ JNIEXPORT jint JNICALL Java_com_ndk_test_JniClient_AddInt (JNIEnv *, jclass, jint, jint); #ifdef __cplusplus } #endif //#endif
#include "com_ndk_test_JniClient.h" #include <stdlib.h> #include <stdio.h> #ifdef __cplusplus extern "C" { #endif /* * Class: com_ndk_test_JniClient * Method: AddStr * Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_ndk_test_JniClient_AddStr (JNIEnv *env, jclass arg, jstring instringA, jstring instringB) { jstring str = (*env)->NewStringUTF(env, "HelloWorld from JNI !"); return str; } /* * Class: com_ndk_test_JniClient * Method: AddInt * Signature: (II)I */ JNIEXPORT jint JNICALL Java_com_ndk_test_JniClient_AddInt (JNIEnv *env, jclass arg, jint a, jint b) { return a + b; } #ifdef __cplusplus } #endif
Android error--No implementation found for native Lcomd
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。