Android中使用第三方库

来源:互联网 发布:孕七周香港验血知男女 编辑:程序博客网 时间:2024/05/21 09:26

1. 两个编译宏

  • 如果在编译Android之前已经有编译好的库或者配置文件时,如何加入到Android中呢?
  • Android提供了Prebuilt编译方法,两个文件prebuilt.mk和multi_prebuilt.mk,对应的方法宏是BUILD_PREBUILT和 BUILD_MULTI_PREBUILT。
    • prebuilt.mk就是prebuilt的具体实现,它是针对独立一个文件的操作
    • multi_prebuilt.mk是针对多个文件的,它对多个文件进行判断,然后调用prebuilt对独立一个文件进行处理。
  • 如果直接用prebuilt.mk的话还是比较麻烦的,得仔细看好需要的宏,
  • 如果使用multi_prebuilt.mk会更方便些,很多它都帮忙处理了。

2. 示例

  • 示例1
    ## prebuilt etc#include $(CLEAR_VARS)#LOCAL_MODULE := #LOCAL_MODULE_TAGS := eng#LOCAL_MODULE_CLASS :=#LOCAL_MODULE_PATH := #LOCAL_SRC_FILES := #include $(BUILD_MULTI_PREBUILT)## prebuilt so/ainclude $(CLEAR_VARS)LOCAL_PREBUILT_LIBS := *.so/*.a include $(BUILD_MULTI_PREBUILT)更容易的方式是:$(call add-prebuilt-files, ETC, pv_player.cfg)它会将pv_player.cfg copy to system/etc下,还可以设定类型:ETC,APPS,EXECUTABLES,SHARED_LIBRARIES,STATIC_LIBRARIES add-prebuilt-files的定义是在build/core/definitions.mk下
  • 示例2
    LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optionalLOCAL_PREBUILT_LIBS := libmovextractor.soinclude $(BUILD_MULTI_PREBUILT)
0 0