路径:./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)