路徑:./frameworks/base/core/res/Android.mk
# 特點:
# 1.支援應用程式編譯的資源能夠被其它應用使用
# 2.該APK具有系統許可權
# 3.能夠指定一個全域的依賴於LOCAL_BUILT_MODULE的中間目標
#把該Makefile所在的目錄設定為目前的目錄
LOCAL_PATH := $(call my-dir)
#清除編譯規則模板使用的變數的值。在./build/core/clear_vars.mk中定義
include $(CLEAR_VARS)
#不是標準的java庫
LOCAL_NO_STANDARD_LIBRARIES := true
#設定包名或者產生的apk的名稱
LOCAL_PACKAGE_NAME := framework-res
#為APK指定簽名具有系統許可權
#簽名有四種類型:testkey, platform, shared, media 預設為testkey
LOCAL_CERTIFICATE := platform
#告訴應用編譯的資源可以被其他應用程式使用
# Tell aapt to create "extending (non-application)" resource IDs,
# since these resources will be used by many apps.
LOCAL_AAPT_FLAGS := -x
#指定該模組的編譯版本為optional
#user: 指該模組只在user版本下才編譯
#eng: 指該模組只在eng版本下才編譯
#tests: 指該模組只在tests版本下才編譯
#optional:指該模組在所有版本下都編譯
LOCAL_MODULE_TAGS := optional
#指定模組安裝在系統的路徑
# Install this alongside the libraries.
LOCAL_MODULE_PATH := $(TARGET_OUT_JAVA_LIBRARIES)
#允許app的資源被其它模組使用
#預設為null
# Create package-export.apk, which other packages can use to get
# PRODUCT-agnostic resource data like IDs and type definitions.
LOCAL_EXPORT_PACKAGE_RESOURCES := true
#執行BUILD_PACKAGE。開始編譯APK
#BUILD_PACKAGE定義在config.mk:
#BUILD_PACKAGE:= $(BUILD_SYSTEM)/package.mk
include $(BUILD_PACKAGE)
#定義一個全域的中間目標並且可能依賴於其他模組。
#.PHONY: 指定framework-res-package-target為偽目標
# define a global intermediate target that other module may depend on.
.PHONY: framework-res-package-target
framework-res-package-target: $(LOCAL_BUILT_MODULE)