首次解析Android.mk

2016-08-11  本文已影响295人  悟剑声

SystemUI包中的Android.mk

(android-5.1.0-r3)

#首先必须定义好LOCAL_PATH变量。
#它用于在开发树中查找源文件。
LOCAL_PATH:= $(call my-dir)

#指定让GNU MAKEFILE为你清除许多LOCAL_XXX变量( LOCAL_MODULE, LOCAL_SRC_FILES, LOCAL_STATIC_LIBRARIES等),
#除LOCAL_PATH 。因为所有的编译控制文件都在同一个GNU MAKE执行环境中,所有的变量都是全局的。
include $(CLEAR_VARS)

#user: 指该模块只在user版本下才编译
#eng: 指该模块只在eng版本下才编译
#tests: 指该模块只在tests版本下才编译
#optional:指该模块在所有版本下都编译 
LOCAL_MODULE_TAGS := optional

#这是要编译的源代码文件列表。
LOCAL_SRC_FILES := $(call all-java-files-under, src) \
    src/com/android/systemui/EventLogTags.logtags

#指定依赖的静态java类库
LOCAL_STATIC_JAVA_LIBRARIES := Keyguard
#指定依赖的共享java类库
LOCAL_JAVA_LIBRARIES := telephony-common

#指定生成apk的名字
LOCAL_PACKAGE_NAME := SystemUI
#指定签名key
#不同的应用程序之间,想共享数据,或者共享代码,那么要让他们运行在同一个进程中,而且要让他们用相同的证书签名。
LOCAL_CERTIFICATE := platform
#声明app需要放在/system/priv-app
LOCAL_PRIVILEGED_MODULE := true

#指定不需要混淆的native方法与变量的proguard.flags文件
LOCAL_PROGUARD_FLAG_FILES := proguard.flags

#指定资源路径,默认在$(LOCAL_PATH)/res
LOCAL_RESOURCE_DIR := \
    frameworks/base/packages/Keyguard/res \
    $(LOCAL_PATH)/res
#自动添加资源
LOCAL_AAPT_FLAGS := --auto-add-overlay --extra-packages com.android.keyguard

#编译
include $(BUILD_PACKAGE)
#执行子目录下的makefile
include $(call all-makefiles-under,$(LOCAL_PATH))

其他

上一篇下一篇

猜你喜欢

热点阅读