Android.mk 用于将 C 和 C++ 源文件粘合至 Android NDK 。
Application.mk 用于描述应用需要的原生模块。 模块可以是静态库、共享库或可执行文件。
Android.mk
# 此变量表示源文件在开发树中的位置
# 在这里,构建系统提供的宏函数 my-dir 将返回当前目录(包含 Android.mk 文件本身的目录)的路径
LOCAL_PATH := $(call my-dir)
# 清除除了LOCAL_PATH之外的所有LOCAL_XXX变量
# 这个清理动作是必须的,因为所有的编译控制文件由同一个GNU Make解析和执行,其变量是全局的。所以清理后才能避免相互影响
include $(CLEAR_VARS)
# 表示Android.mk中的每一个模块,名字必须唯一且不包含空格
# 构建系统在生成最终共享库文件时,会将正确的前缀和后缀自动添加到您分配给 LOCAL_MODULE 的名称
LOCAL_MODULE := hello-jni
# 此可选变量可让您覆盖构建系统默认用于其生成的文件的名称
# 例如,如果 LOCAL_MODULE 的名称为 foo,您可以强制系统将它生成的文件命名为 libnewfoo
LOCAL_MODULE_FILENAME := libhello-jni
# 枚举源文件,以空格分隔多个文件
#