LOCAL_PATH := $(my-dir) include $(CLEAR_VARS) LOCAL_MODULE := dangbei LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/bundled_persist-app LOCAL_SRC_FILES := $(LOCAL_MODULE)$(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_CERTIFICATE := PRESIGNED LOCAL_DEX_PREOPT := false LOCAL_ENFORCE_USES_LIBRARIES := false LOCAL_MODULE_TAGS := optional LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_JNI_SHARED_LIBRARIES_ABI := arm MY_LOCAL_PREBUILT_JNI_LIBS := \ lib/arm/libeuthenia-lib.so\ lib/arm/libjcore290.so\ MY_APP_LIB_PATH := $(TARGET_OUT_ODM)/bundled_persist-app/$(LOCAL_MODULE)/lib/$(LOCAL_JNI_SHARED_LIBRARIES_ABI) ifneq ($(LOCAL_JNI_SHARED_LIBRARIES_ABI), None) $(warning MY_APP_LIB_PATH=$(MY_APP_LIB_PATH)) LOCAL_POST_INSTALL_CMD := mkdir -p $(MY_APP_LIB_PATH) $(foreach lib, $(MY_LOCAL_PREBUILT_JNI_LIBS), ; cp -f $(LOCAL_PATH)/$(lib) $(MY_APP_LIB_PATH)/$(notdir $(lib))) endif include $(BUILD_PREBUILT)
时间: 2023-08-18 08:04:17 浏览: 847
这是一个 Android.mk 文件,用于编译一个名为 "dangbei" 的应用程序,并将其安装到系统的 "bundled_persist-app" 目录中。该应用程序使用了三个共享库:libeuthenia-lib.so、libjcore290.so 和一个未知的库。在安装应用程序时,这些库将被复制到 "dangbei" 应用程序的 "lib/arm" 目录下。
相关问题
请解释下这段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)
这段 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 框架的要求。
阅读全文