如何构建平台/框架/基础?aosp源

pftdvrlh  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(422)

我在看平台/框架/基础。看起来很多东西都来自android的核心。主要是java语言:https://github.com/grapheneos/platform_frameworks_base/blob/11/android.mk
当我们调查它的时候 Android.mk 最有趣的部分是:

$(SDK_METADATA): $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/framework-doc-stubs-metadata.zip
    rm -rf $(SDK_METADATA_DIR)
    mkdir -p $(SDK_METADATA_DIR)
    unzip -qo $< -d $(SDK_METADATA_DIR)

我试图了解如何和什么是建立在这个回购。很明显,这个makefile中没有构建任何东西,主要是因为java代码是从art构建的。那么,发生了什么?
看起来它从以下位置解压文件: SDK_METADATA_DIR :=$= $(call intermediates-dir-for,PACKAGING,framework-doc-stubs-metadata,,COMMON) ,但之后就什么也不做了。
回购最终是如何建立起来的?

p8ekf7hl

p8ekf7hl1#

更有趣的目标在android.bp文件中定义。
有多个目标是从该存储库构建的,所以请看 java_library 名称以“framework”开头的目标,以及 framework 找到你需要的东西。

// This "framework" module is NOT installed to the device. It's
// "framework-minus-apex" that gets installed to the device. Note that
// the filename is still framework.jar (via the stem property) for
// compatibility reason. The purpose of this module is to provide
// framework APIs (both public and private) for bundled apps.
// "framework-minus-apex" can't be used for the purpose because 1)
// many apps have already hardcoded the name "framework" and
// 2) it lacks API symbols from updatable modules - as it's clear from
// its suffix "-minus-apex".

相关问题