Android.mk是安卓提供的一种makefile配置文件,用来告知GNU Build 系统关于Source的信息,指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库等,生成对应的apk文件。将源文件分组为模块,可以定义一个或多个模块,也可以多个模块中使用同一个源文件。
下面先用一个简单的例子来熟悉一下。
Android.mk文件首先需要定义LOCAL_PATH
变量:
LOCAL_PATH := $(call my-dir)
该变量表示源文件在开发树中的位置。构建系统提供的宏函数 my-dir
将返回当前目录(包含 Android.mk
文件本身的目录)的路径。
include $(CLEAR_VARS)
下一行声明 CLEAR_VARS
变量。其值由构建系统提供,声明一下即可。CLEAR_VARS
变量指向特殊 GNU Makefile,可为您清除许多 LOCAL_XXX
变量,例如 LOCAL_MODULE
、LOCAL_SRC_FILES
和 LOCAL_STATIC_LIBRARIES
。 但是要注意,它不会清除 LOCAL_PATH
。必须保留其值。并且在描述每个模块之前,必须重新声明此变量。
接下来,使用LOCAL_MODULE
变量来存储要构建的模块的名称。
L