当前位置: 代码迷 >> Android >> 2011.12.05(三)——— android JNI学习之二 调用第三方动态库
  详细解决方案

2011.12.05(三)——— android JNI学习之二 调用第三方动态库

热度:59   发布时间:2016-05-01 19:29:36.0
2011.12.05(3)——— android JNI学习之二 调用第三方动态库
2011.12.05(3)——— android JNI学习之二 调用第三方动态库

动态库和静态库 我觉得两种不同

1、动态库是.so文件,静态库是.a文件
2、动态库的话 你需要第三方库和你自己的so库,静态库 只需要你自己的就行,已经包含到你的so库里面去了

我不是学c的 所以 可能说的不对 大家见谅


我在开发过程中发现 动态库的调用有两种方法

libaaa.so是我的第三方so库,libtest是我生成的so库

1、lib下面生成一个so
#LOCAL_PATH    := $(call my-dir)#LOCAL_MODULE    := libtestLOCAL_SRC_FILES := com_lp_jni_Test.cLOCAL_LDLIBS    += -L$(SYSROOT)/usr/lib -llogLOCAL_LDLIBS	+= -L$(LOCAL_PATH)LOCAL_LDLIBS    += -laaainclude $(BUILD_SHARED_LIBRARY)


这个会在lib下面生成一个so 就是你自己的so 但是 你用的时候 也需要把第三方so库放到你的工程里面

2、lib下面生成两个so
#LOCAL_PATH    := $(call my-dir)#include $(CLEAR_VARS)   LOCAL_MODULE    := libmmm  LOCAL_SRC_FILES := libaaa.so   include $(PREBUILT_SHARED_LIBRARY)  include $(CLEAR_VARS)LOCAL_MODULE    := libtestLOCAL_SRC_FILES := com_lp_jni_JMedia.cLOCAL_LDLIBS    += -L$(SYSROOT)/usr/lib -llogLOCAL_SHARED_LIBRARIES := libmmminclude $(BUILD_SHARED_LIBRARY)


这个会在你的lib下面生成两个so库 一个是第三方so库,一个是你自己的





  相关解决方案