c++ mk文件出错Jni调用产生java.lang.UnsatisfiedLinkError错误解决方法

 更新时间:2013年11月29日 15:53:51   作者:  
错误产生在我把方法从c语言转为c++语言后产生的,后来检查到这种错误是因为mk文件出错,加载c文件和加载c++的文件所用的代码不一样,下面请看

错误为:

Android.mk文件

c++的调用方法为:

复制代码 代码如下:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := TestNdk

LOCAL_CPP_EXTENSION :=com_ndk_test_JniClient.cpp

include $(BUILD_SHARED_LIBRARY)

c中的调用方法:

复制代码 代码如下:

LOCAL_SRC_FILES := com_ndk_test_JniClient.c

另一个使用变量的方法,一直成功运行

c++正确的mk文件:

复制代码 代码如下:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := TestSm3

LS_CPP=$(subst $(1)/,,$(wildcard $(1)/*.cpp))

LOCAL_SRC_FILES := $(call LS_CPP,$(LOCAL_PATH))

include $(BUILD_SHARED_LIBRARY)

相关文章

最新评论