android ndk 使用第三方静态库
1 将第三方静态库的头文件,.a文件拷贝到Android ndk的source目录里面:
这个目录里面,Android目录里面放了.a静态库,boost里面放了头文件,android.mk文件的内容:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:= boost_thread
LOCAL_SRC_FILES:= android/lib/libboost_thread.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
include $(PREBUILT_STATIC_LIBRARY)
#如果还有其他的静态库:
include $(CLEAR_VARS)
LOCAL_MODULE:= boost_iostreams
LOCAL_SRC_FILES:= android/lib/libboost_iostreams.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
include $(PREBUILT_STATIC_LIBRARY)
这样在其他工程要使用这个libboost_thread.a的做法是:
只需要在其他ndk工程的mk文件里面添加如下两句即可:
LOCAL_STATIC_LIBRARIES := boost_thread
$(call import-module,boost) #表示引用了source/boost目录里面的android.mk文件。
如果工程里面使用了多个.a文件,有的时候提示链接不到某个.a里面的函数,可能是LOCAL_STATIC_LIBRARIES := 里面列出来的.a模块的顺序不对。
更多相关文章
- android读写文件
- Android内核的根文件系统
- android获取文件目录
- Android代码实现APK文件的安装与卸载
- Android 文件实现断点上传
- android 使用VideoView加载raw目录内视频资源
- Android 存储方式之文件存储