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

错误为:

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

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)

相关文章:

  • 2021-08-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-28
  • 2022-12-23
  • 2022-12-23
  • 2021-10-19
猜你喜欢
  • 2021-06-05
  • 2022-12-23
  • 2021-09-14
  • 2021-12-09
  • 2022-12-23
  • 2021-06-13
  • 2021-10-29
相关资源
相似解决方案