AOSP 预构建 aar 未添加到框架中

AOSP prebuilt aar not added to frameworks

我有一个简单的 aar 文件,我想将其作为预构建库包含在 AOSP 构建中进行部署。目标是在 system/framework 中部署 aar 文件,以便第 3 方开发人员可以使用它。

运行 mm 在与我的 Android.mk 文件相同的文件夹中,完全符合我的预期,包括在 obj/JAVA_LIBRARIES 中创建中间体以及在 PRODUCT 中添加文件/system/framework 文件夹。

但是,当我 运行 /m 构建图像时,上述文件没有创建,结果图像中缺少文件。

在我的 Android.mk 中放置一个故意的错误并测试一个完整的构建确实通过一个错误,所以我的 Android.mk 在主构建中被正确使用。

我还在 PRODUCT_BOOT_JARS 中添加了 aar 模块名称,以确保更新 class 路径以允许开发和 运行ning 使用这些开发的 APK。只是提一下,虽然我不认为它在这里发挥作用(过去使用 jar 文件的 AOSP 构建在没有它的情况下工作正常至少用于部署)

我的Android.mk

# include $(CLEAR_VARS)
# LOCAL_MODULE := mylib
# LOCAL_SRC_FILES := mylib.aar
# LOCAL_MODULE_CLASS := JAVA_LIBRARIES
# LOCAL_MODULE_SUFFIX := .aar

我认为您需要将模块添加到 makefile 中的 PRODUCT_PACKAGES 变量,例如:

PRODUCT_PACKAGES += \
    ... \
    mylib

您可以修改 make 文件以添加您的模块可能 build/make/target/product/base.mkbuild/target/product/core.mk 或一些其他文件取决于您的自定义构建系统。