1、 Android.mk介紹
用於向構建系統描述源文件和共享庫
1.1 定義 Application.mk;
1.2 構建系統和環境變量所未定義的項目範圍設置;
1.3 替換特定模塊的項目範圍設置。
2、 Android.mk基本寫法
2.1 首先定義LOCAL_PATH變量
在這裏,構建系統提供的紅函數my-dir將範湖當前目錄(包含Android.mk所在目錄) LOCAL_PATH := $(call my-dir)
2.2 接着生命CLEAR_VARS變量
CLEAR_VARS變量指向特殊GNU Makefile,可爲您清除許多LOCAL_XXX變量
注意:它不會清除LOCAL_PATH變量,此變量必須保留其值,因爲系統在單一GNU Make執行環境(其中所有變量都是全局變量)解析所有構建控制文件,在描述每個模塊之前,必須聲明(重新聲明)此變量
include $(CLEAR_VARS)
2.3 LOCAL_MODULE變量將存儲您要構建的模塊名稱
XXX代表你要生成的庫文件的名稱
在生成過程中系統會自動在XXX前面加上lib,形成libXXX.so的形式
應用的每個模塊都應該使用一個該變量LOCAL_MODULE := XXX
2.4 枚舉源文件,以空格分隔多個文件
變量必須包含要構建到模塊中的C或者C++等源文件列表 LOCAL_SRC_FILES := hello.c index.c
2.5 連接系統所有內容
BUILD_SHARED_LIBRARY 變量指向GNU Makefile腳本,用於收集您最近include後在LOCAL_XXX變量中定義的所有信息
GNU Makefile腳本確定要構建的內容及操作方法 include $(BUILD_SHARED_LIBRARY)
2.6 自定義變量,不要與NDK構建系統預留變量衝突如
以LOCAL_開頭的名稱,如LOCAL_MODULE
以PRIVATE_、NDK_、或APP開頭的名稱,構建系統在內部使用這些變量
小寫名稱,例如my-dir
如果爲了方便需要自定義變量,建議名稱前附件MY_;
NDK變量和相關宏定義