请解释下这段Android.mk# ==== the metalava api stubs and current.xml =========================== include $(CLEAR_VARS) LOCAL_SRC_FILES:=$(framework_docs_LOCAL_API_CHECK_SRC_FILES) LOCAL_GENERATED_SOURCES:=$(framework_docs_LOCAL_GENERATED_SOURCES) LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS) LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES) LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS) LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH) LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR) LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES) LOCAL_MODULE := metalava-api-stubs LOCAL_DROIDDOC_USE_METALAVA := true LOCAL_DROIDDOC_METALAVA_PREVIOUS_API := prebuilts/sdk/api/27.txt LOCAL_DROIDDOC_METALAVA_ANNOTATIONS_ENABLED := true LOCAL_DROIDDOC_METALAVA_MERGE_ANNOTATIONS_DIR := tools/metalava/manual LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/metalava_android_stubs_current_intermediates/src INTERNAL_PLATFORM_METALAVA_PUBLIC_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/metalava_public_api.txt INTERNAL_PLATFORM_METALAVA_PUBLIC_REMOVED_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/metalava_removed.txt LOCAL_DROIDDOC_OPTIONS:=\ $(framework_metalava_docs_LOCAL_DROIDDOC_OPTIONS) \ --api $(INTERNAL_PLATFORM_METALAVA_PUBLIC_API_FILE) \ --removed-api $(INTERNAL_PLATFORM_METALAVA_PUBLIC_REMOVED_API_FILE) \ -nodocs LOCAL_UNINSTALLABLE_MODULE := true include $(BUILD_DROIDDOC)
时间: 2023-08-04 12:09:36 浏览: 381
这段 Android.mk 文件是用于构建 Android 操作系统中的 Metalava API Stubs 和当前 API 的文档。下面是对各个变量和选项的解释:
- `CLEAR_VARS`:清空所有变量,以便重新定义新的变量。
- `LOCAL_SRC_FILES`:指定源文件列表,这里是 API 检查工具的源代码文件列表。
- `LOCAL_GENERATED_SOURCES`:指定生成的源文件列表,这里是通过处理 "framework_docs" 目录中的输入文件生成的源文件。
- `LOCAL_SRCJARS`:指定源代码 JAR 文件列表,这里是包含 Android 框架代码的 JAR 文件。
- `LOCAL_JAVA_LIBRARIES`:指定依赖的 Java 库列表,这里是 API 检查工具依赖的 Java 库。
- `LOCAL_MODULE_CLASS`:指定模块类型,这里是 "Java Library"。
- `LOCAL_DROIDDOC_SOURCE_PATH`:指定 Droiddoc 处理的源码路径,这里是 Android 框架代码的路径。
- `LOCAL_ADDITIONAL_JAVA_DIR`:指定需要额外添加的 Java 文件夹,这里是 API 检查工具需要的额外 Java 文件夹。
- `LOCAL_ADDITIONAL_DEPENDENCIES`:指定额外的依赖项,这里是 API 检查工具需要的额外依赖项。
- `LOCAL_MODULE`:指定模块名称,这里是 "metalava-api-stubs"。
- `LOCAL_DROIDDOC_USE_METALAVA`:指定是否使用 Metalava 工具处理文档。
- `LOCAL_DROIDDOC_METALAVA_PREVIOUS_API`:指定前一个版本的 API 文件路径。
- `LOCAL_DROIDDOC_METALAVA_ANNOTATIONS_ENABLED`:指定是否启用注释。
- `LOCAL_DROIDDOC_METALAVA_MERGE_ANNOTATIONS_DIR`:指定合并注释的目录。
- `LOCAL_DROIDDOC_STUB_OUT_DIR`:指定 Metalava API Stubs 的输出目录。
- `INTERNAL_PLATFORM_METALAVA_PUBLIC_API_FILE`:指定生成的公开 API 文件路径。
- `INTERNAL_PLATFORM_METALAVA_PUBLIC_REMOVED_API_FILE`:指定生成的已删除 API 文件路径。
- `LOCAL_DROIDDOC_OPTIONS`:指定 Droiddoc 工具的选项。
- `BUILD_DROIDDOC`:调用 Droiddoc 工具进行文档处理。
此文件的主要目的是生成 API 文档和 API Stubs,以及检查当前 API 是否符合 Android 框架的要求。
阅读全文