美文网首页
首次解析Android.mk

首次解析Android.mk

作者: 悟剑声 | 来源:发表于2016-08-11 17:44 被阅读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))

其他

  • 变量
    LOCAL_PATH - 编译时的目录
    LOCAL_MODULE - 编译的目标对象
    LOCAL_SRC_FILES - 编译的源文件
    LOCAL_C_INCLUDES - 需要包含的头文件目录
    LOCAL_SHARED_LIBRARIES - 链接时需要的外部库
    LOCAL_PRELINK_MODULE - 是否需要prelink处理
    BUILD_STATIC_LIBRARY - 指明要编译成静态库
    BUILD_SHARED_LIBRARY - 指明要编译成动态库
  • 函数

相关文章

  • 首次解析Android.mk

    SystemUI包中的Android.mk (android-5.1.0-r3) 其他 变量LOCAL_PATH ...

  • Android.mk解析

    一 简介 Android NDK的构建系统是基于GUN Makefile的,Android.mk其实就是一个用于向...

  • Android.mk解析

    Android.mk解析 一、变量说明: 1.LOCAL_PATH:= $(call my-dir) 此行代码在A...

  • Android.bp文件简介

    Android.bp是用来替换Android.mk的配置文件,它使用Blueprint框架来解析。Blueprin...

  • Android.mk文件解析

    在源码树中每一个模块的所有文件通常都相应有一个自己的文件夹,在该模块的根目录下有一个名称为“Android.mk”...

  • Android.mk语法解析

    什么是Android.mk Android.mk是Android提供的一种makefile文件,用来指定诸如编译生...

  • Android.mk

    Eclipse版本Android.mk Android studuio版本Android.mk

  • Android源码分析(一)-----如何快速掌握Android

    一 : Android.mk文件概述 主要向编译系统指定相应的编译规则。会被解析一次或多次。因此尽量减少源码中声明...

  • Android.mk的用法和基础

    Android.mk的用法和基础 Android.mk示例 LOCAL_PATH:= $(call my-dir)...

  • Android.mk

    Android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU ...

网友评论

      本文标题:首次解析Android.mk

      本文链接:https://www.haomeiwen.com/subject/vbdssttx.html