From 188082ae34dc0a9fffd9b316245f6cb0c9da83c6 Mon Sep 17 00:00:00 2001 From: satayev Date: Tue, 27 Apr 2021 15:33:08 +0100 Subject: [PATCH] Move core-icu4j.jar down in PRODUCT_BOOT_JARS. For go/updatable-bootclasspath it would simplify the logic if all system boot jars were in a single block, instead of having some apex jars in between them. core-icu4j.jar used to be part of ART_APEX_JARS before it moved to its own apex. However, this change puts it after system jars in relative ordering. Bug: 180105615 Test: presubmit Change-Id: Icadc1b67191172bb02d1a15bdfa3d2e6f69227aa --- target/product/default_art_config.mk | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/target/product/default_art_config.mk b/target/product/default_art_config.mk index bb17dda3c..feb2eb71d 100644 --- a/target/product/default_art_config.mk +++ b/target/product/default_art_config.mk @@ -18,16 +18,37 @@ ifeq ($(ART_APEX_JARS),) $(error ART_APEX_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable) endif -# The order matters for runtime class lookup performance. +# Order of the jars on BOOTCLASSPATH follows: +# 1. ART APEX jars +# 2. System jars +# 3. System_ext jars +# 4. Non-updatable APEX jars +# 5. Updatable APEX jars +# +# ART APEX jars (1) are defined in ART_APEX_JARS. System, system_ext, and non updatable boot jars +# are defined below in PRODUCT_BOOT_JARS. All updatable APEX boot jars are part of +# PRODUCT_UPDATABLE_BOOT_JARS. +# +# The actual runtime ordering matching above is determined by derive_classpath service at runtime. +# See packages/modules/SdkExtensions/README.md for more details. + +# The order of PRODUCT_BOOT_JARS matters for runtime class lookup performance. PRODUCT_BOOT_JARS := \ - $(ART_APEX_JARS) \ + $(ART_APEX_JARS) + +# /system and /system_ext boot jars. +PRODUCT_BOOT_JARS += \ framework-minus-apex \ ext \ - com.android.i18n:core-icu4j \ telephony-common \ voip-common \ ims-common +# Non-updatable APEX jars. Keep the list sorted. +PRODUCT_BOOT_JARS += \ + com.android.i18n:core-icu4j + +# Updatable APEX jars. Keep the list sorted. PRODUCT_UPDATABLE_BOOT_JARS := \ com.android.conscrypt:conscrypt \ com.android.media:updatable-media \