Android.mk文件核心部分是模块,模块可以用来指定静态库或共享库,其中只有共享库会被安装或复制到android应用程序包(apk文件)中,而静态库可以用来生成共享库。
LOCAL_PATH
用来指定参与编译的C/C++源文件的位置。my-dir是个宏函数是由系统提供的,返回Android.mk文件所在目录的路径
include $(CLEAR_VARS)
用来清空很多以LOCAL_开头的变量,不包括LOCAL_PATH,因为这些都是全局变量。
LOCAL_MODULE :=
生成共享库的文件名
LOCAL_SRC_FILES :=
指定一个C/C++源文件列表
Include $(BUILD_SHARED_LIBRARY)
BUILD_SHARED_LIBRARY是在系统中定义的,用来指定一个GUN MAKE脚本文件。该脚本文件会根据以LOCAL_开头的变量生成共享库文件,如果想生成静态库文件,可以使用BUILD_STATIC_LIBRARY变量
生成共享库文件名是:lib $(LOCAL_MODULE).so
生成静态库文件名是:$(LOCAL_MODULE).a
TARGET_ARCH:
编译Android的目标CPU架构的名称,例如与ARM兼容的CPU架构名称为arm
TARGET_PLATFORM
指定分析Android.mk文件的Android平台名称。在NDK Revision中,该变量的值是android-3
TARGET_ARCH_ABI:
用于分析Android.mk的目标CPU+ABI的名称。ABI(程序二进制接口)。所有基于ARM的ABI都必须将TARGET_ARCH的值设为arm.但可以设置不同的TARGET_ARCH_ABI变量值
TARGET_ABI
用于连接目标平台和ABI
all-subdir-makefiles:
返回Android.mk文件所在目录中所有包含Android.mk文件的子目录列表