NDK基礎之Android.mk基礎

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變量和相關宏定義

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章