diff --git a/core/product_config.mk b/core/product_config.mk index 614dfa29ee..cf92924dfc 100644 --- a/core/product_config.mk +++ b/core/product_config.mk @@ -320,6 +320,12 @@ PRODUCT_SYSTEM_SERVER_JARS += $(PRODUCT_SYSTEM_SERVER_JARS_EXTRA) PRODUCT_SYSTEM_SERVER_JARS := $(call qualify-platform-jars,$(PRODUCT_SYSTEM_SERVER_JARS)) +# Sort APEX system server jars. We use deterministic alphabetical order when +# constructing SYSTEMSERVERCLASSPATH definition on device after a Mainline +# update. Enforce it in the build system as well to avoid recompiling everything +# after an update due a change in SYSTEMSERVERCLASSPATH order. +PRODUCT_APEX_SYSTEM_SERVER_JARS := $(sort $(PRODUCT_APEX_SYSTEM_SERVER_JARS)) + ifndef PRODUCT_SYSTEM_NAME PRODUCT_SYSTEM_NAME := $(PRODUCT_NAME) endif diff --git a/target/product/default_art_config.mk b/target/product/default_art_config.mk index e988d0067b..5e2021870d 100644 --- a/target/product/default_art_config.mk +++ b/target/product/default_art_config.mk @@ -65,7 +65,7 @@ PRODUCT_APEX_BOOT_JARS := \ com.android.tethering:framework-tethering \ com.android.wifi:framework-wifi -# APEX system server jars. Keep the list sorted by module names and then library names. +# APEX system server jars. The list will be sorted automatically. PRODUCT_APEX_SYSTEM_SERVER_JARS := \ com.android.appsearch:service-appsearch \ com.android.art:service-art \