Jni调用方法产生java.lang.UnsatisfiedLinkError错误

       错误产生在我把方法从c语言转为c++语言后产生的,后来检查到这种错误是因为mk文件出错,加载c文件和加载c++的文件所用的代码不一样,下面请看:

错误为:

clipboard

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)
原文地址:https://www.cnblogs.com/yejiurui/p/2989274.html