安卓之Android.mk多文件以及动态库编译

知识就是力量,时间就是生命。这篇文章主要讲述安卓之Android.mk多文件以及动态库编译相关的知识,希望能为你提供帮助。
1、多文件编译
多文件编译共有两种方式:
(1) 在android.mk中一一添加

LOCAL_PATH:= $(call my-dir)#定义当前模块的相对路径 include $(CLEAR_VARS)#清空当前环境变量 LOCAL_MODULE:= test#编译生成的目标名称 LOCAL_SRC_FILES :=test1.c 
test2.c
test3.c
#编译该模块所需要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH)#在当前目录生成该模块文件 include $(BUILD_EXECUTABLE)#编译之后的文件类型

(2)在Android.mk中调用函数
LOCAL_PATH:= $(call my-dir)#定义当前模块的相对路径 include $(CLEAR_VARS)#清空当前环境变量 LOCAL_MODULE:= test#编译生成的目标名称 LOCAL_C_ALL_FILES := $(call all-c-files-under) #加载所有的文件 LOCAL_SRC_FILES := $LOCAL_C_ALL_FILES # LOCAL_SRC_FILES := test.c#编译该模块所需要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH)#在当前目录生成该模块文件 include $(BUILD_EXECUTABLE)#编译之后的文件类型

 
2、一个Android.mk生成多个目标文件,只需要在Android.mk下面做如下的操作
LOCAL_PATH:= $(call my-dir)#定义当前模块的相对路径 include $(CLEAR_VARS)#清空当前环境变量 LOCAL_MODULE:= test1#编译生成的目标名称 LOCAL_C_ALL_FILES := $(call all-c-files-under) #加载所有的文件 LOCAL_SRC_FILES := $LOCAL_C_ALL_FILES # LOCAL_SRC_FILES := test.c#编译该模块所需要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH)#在当前目录生成该模块文件 include $(BUILD_EXECUTABLE)#编译之后的文件类型



LOCAL_PATH:= $(call my-dir)#定义当前模块的相对路径 include $(CLEAR_VARS)#清空当前环境变量 LOCAL_MODULE:= test2#编译生成的目标名称 LOCAL_C_ALL_FILES := $(call all-c-files-under) #加载所有的文件 LOCAL_SRC_FILES := $LOCAL_C_ALL_FILES # LOCAL_SRC_FILES := test.c#编译该模块所需要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH)#在当前目录生成该模块文件 include $(BUILD_EXECUTABLE)#编译之后的文件类型


 
3、生成动态库,操作Android.mk
LOCAL_PATH:= $(call my-dir)#定义当前模块的相对路径 include $(CLEAR_VARS)#清空当前环境变量 LOCAL_MODULE:= libtest#编译生成的目标名称 LOCAL_SRC_FILES :=test1.ctest2.ctest3.c #编译该模块所需要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH)#在当前目录生成该模块文件 include $(BUILD_SHARED_LIBRARY)#编译之后的文件类型

 
4、生成静态库,操作Android.mk
LOCAL_PATH:= $(call my-dir)#定义当前模块的相对路径 include $(CLEAR_VARS)#清空当前环境变量 LOCAL_MODULE:= libtest#编译生成的目标名称 LOCAL_SRC_FILES :=test1.ctest2.ctest3.c #编译该模块所需要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH)#在当前目录生成该模块文件 include $(BUILD_STATIC_LIBRARY)#编译之后的文件类型

 
【安卓之Android.mk多文件以及动态库编译】####共勉#####







    推荐阅读