android JNI学习之二 调用第三方动态库

来源:互联网 发布:mysql下载及安装步骤 编辑:程序博客网 时间:2024/05/20 05:05

http://lipeng88213.iteye.com/blog/1292543

 

android JNI学习之二 调用第三方动态库

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

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

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


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

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

1、lib下面生成一个so

Java代码 复制代码 收藏代码
  1.  
  2.  
  3. LOCAL_PATH    := $(call my-dir) 
  4.  
  5. LOCAL_MODULE    := libtest 
  6. LOCAL_SRC_FILES := com_lp_jni_Test.c 
  7.  
  8. LOCAL_LDLIBS    += -L$(SYSROOT)/usr/lib -llog 
  9.  
  10. LOCAL_LDLIBS    += -L$(LOCAL_PATH) 
  11. LOCAL_LDLIBS    += -laaa 
  12.  
  13.  
  14. include $(BUILD_SHARED_LIBRARY) 



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

2、lib下面生成两个so

Java代码 复制代码 收藏代码
  1.  
  2.  
  3. LOCAL_PATH    := $(call my-dir) 
  4. include $(CLEAR_VARS)    
  5. LOCAL_MODULE    := libmmm   
  6. LOCAL_SRC_FILES := libaaa.so    
  7. include $(PREBUILT_SHARED_LIBRARY)   
  8.  
  9. include $(CLEAR_VARS) 
  10. LOCAL_MODULE    := libtest 
  11. LOCAL_SRC_FILES := com_lp_jni_JMedia.c 
  12.  
  13. LOCAL_LDLIBS    += -L$(SYSROOT)/usr/lib -llog 
  14.  
  15. LOCAL_SHARED_LIBRARIES := libmmm 
  16.  
  17.  
  18. include $(BUILD_SHARED_LIBRARY) 



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

原创粉丝点击