<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->
Android.mk檔案是用來向編譯系統描述項目組織和編譯方式,實際上是GNU make檔案的一小片段,它會被編譯系統解析一次或多次。
這個檔案內容如下:
LOCAL_PATH := $(call my-dir)
這行是用來指定目前的目錄在那裡,也就是把目前的目錄$(call my-dir)賦值給變數LOCAL_PATH,這樣才可以找到源碼和相應的資源檔。
include $(CLEAR_VARS)
清除前面使用的臨時變數。
LOCAL_STATIC_JAVA_LIBRARIES := libarity
使用靜態JAVA庫,名稱為 libarity。
LOCAL_SRC_FILES := $(call all-java-files-under, src)
這裡是指明需要編譯的檔案,也就是說明源碼的檔案清單。這裡編譯所有src目錄下的java源碼。
LOCAL_PACKAGE_NAME := Calculator
這裡指明編譯出來包的名稱,計算機的包名稱就是Calculator.apk。
include $(BUILD_PACKAGE)
這裡是包括編譯產生包的規則,它的定義也是在config.mk中定義,如下:
BUILD_PACKAGE:=$(BUILD_SYSTEM)/package.mk。就是在這個檔案詳細地定義怎麼樣產生包檔案。
##################################################
include $(CLEAR_VARS)
清除前面使用的臨時變數。
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libarity:arity-1.3.3.jar
include $(BUILD_MULTI_PREBUILT)
預先編譯這個依賴庫。
# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
產生測試包。