Android 中的 mk 和 bp 文件编译说明
在 Android 构建系统中,Android.mk 和 Android.bp 文件是用于定义模块编译规则的核心文件。Android.mk 基于 GNU Make 语法,而 Android.bp 基于更简洁的 Blueprint 语法。以下详细说明两者的使用方式及差异。
Android.mk 文件基础语法
Android.mk 是传统的模块定义文件,使用 Makefile 语法。以下是一个典型示例:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := my_module
LOCAL_SRC_FILES := main.cpp utils.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_SHARED_LIBRARIES := liblog libcutils
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH:定义当前模块路径。include $(CLEAR_VARS):清除之前定义的变量,避免污染当前模块。LOCAL_MODULE:指定模块名称。LOCAL_SRC_FILES:指定源文件列表。LOCAL_C_INCLUDES:指定头文件搜索路径。BUILD_SHARED_LIBRARY:声明构建目标为动态库。
Android.bp 文件基础语法
Android.bp 是新的模块定义文件,使用 JSON 风格的声明式语法。以下是一个等效示例:
cc_library_shared {
name: "my_module",
srcs: ["main.cpp", "utils.cpp"],
include_dirs: ["include"],
shared_libs: ["liblog", "libcutils"],
}
cc_library_shared:声明构建目标为动态库。name:指定模块名称。srcs:列出源文件。include_dirs:指定头

2155

被折叠的 条评论
为什么被折叠?



