diff --git a/core/dex_preopt_config.mk b/core/dex_preopt_config.mk index 0c806c1852..d5293cf697 100644 --- a/core/dex_preopt_config.mk +++ b/core/dex_preopt_config.mk @@ -109,6 +109,8 @@ ifeq ($(WRITE_SOONG_VARIABLES),true) $(call add_json_list, SystemServerJars, $(PRODUCT_SYSTEM_SERVER_JARS)) $(call add_json_list, SystemServerApps, $(PRODUCT_SYSTEM_SERVER_APPS)) $(call add_json_list, ApexSystemServerJars, $(PRODUCT_APEX_SYSTEM_SERVER_JARS)) + $(call add_json_list, StandaloneSystemServerJars, $(PRODUCT_STANDALONE_SYSTEM_SERVER_JARS)) + $(call add_json_list, ApexStandaloneSystemServerJars, $(PRODUCT_APEX_STANDALONE_SYSTEM_SERVER_JARS)) $(call add_json_bool, BrokenSuboptimalOrderOfSystemServerJars, $(PRODUCT_BROKEN_SUBOPTIMAL_ORDER_OF_SYSTEM_SERVER_JARS)) $(call add_json_list, SpeedApps, $(PRODUCT_DEXPREOPT_SPEED_APPS)) $(call add_json_list, PreoptFlags, $(PRODUCT_DEX_PREOPT_DEFAULT_FLAGS)) diff --git a/core/product.mk b/core/product.mk index 503b44f6c1..31b1bebf11 100644 --- a/core/product.mk +++ b/core/product.mk @@ -232,9 +232,15 @@ _product_single_value_vars += PRODUCT_SUPPORTS_VBOOT _product_single_value_vars += PRODUCT_SUPPORTS_VERITY _product_single_value_vars += PRODUCT_SUPPORTS_VERITY_FEC _product_list_vars += PRODUCT_SYSTEM_SERVER_APPS +# List of system_server classpath jars on the platform. _product_list_vars += PRODUCT_SYSTEM_SERVER_JARS -# List of system_server jars delivered via apex. Format = :. +# List of system_server classpath jars delivered via apex. Format = :. _product_list_vars += PRODUCT_APEX_SYSTEM_SERVER_JARS +# List of jars on the platform that system_server loads dynamically using separate classloaders. +_product_list_vars += PRODUCT_STANDALONE_SYSTEM_SERVER_JARS +# List of jars delivered via apex that system_server loads dynamically using separate classloaders. +# Format = : +_product_list_vars += PRODUCT_APEX_STANDALONE_SYSTEM_SERVER_JARS # If true, then suboptimal order of system server jars does not cause an error. _product_single_value_vars += PRODUCT_BROKEN_SUBOPTIMAL_ORDER_OF_SYSTEM_SERVER_JARS # If true, then system server jars defined in Android.mk are supported. diff --git a/core/product_config.mk b/core/product_config.mk index ae0efe2ff8..2b444349b8 100644 --- a/core/product_config.mk +++ b/core/product_config.mk @@ -327,6 +327,9 @@ PRODUCT_SYSTEM_SERVER_JARS := $(call qualify-platform-jars,$(PRODUCT_SYSTEM_SERV PRODUCT_APEX_BOOT_JARS := $(sort $(PRODUCT_APEX_BOOT_JARS)) PRODUCT_APEX_SYSTEM_SERVER_JARS := $(sort $(PRODUCT_APEX_SYSTEM_SERVER_JARS)) +PRODUCT_STANDALONE_SYSTEM_SERVER_JARS := \ + $(call qualify-platform-jars,$(PRODUCT_STANDALONE_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..f98f7e275b 100644 --- a/target/product/default_art_config.mk +++ b/target/product/default_art_config.mk @@ -65,7 +65,8 @@ 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. +# List of system_server classpath jars delivered via apex. +# Keep the list sorted by module names and then library names. PRODUCT_APEX_SYSTEM_SERVER_JARS := \ com.android.appsearch:service-appsearch \ com.android.art:service-art \ @@ -74,6 +75,18 @@ PRODUCT_APEX_SYSTEM_SERVER_JARS := \ PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION += art/build/boot/boot-image-profile.txt +# List of jars on the platform that system_server loads dynamically using separate classloaders. +# Keep the list sorted library names. +PRODUCT_STANDALONE_SYSTEM_SERVER_JARS := \ + +# List of jars delivered via apex that system_server loads dynamically using separate classloaders. +# Keep the list sorted by module names and then library names. +PRODUCT_APEX_STANDALONE_SYSTEM_SERVER_JARS := \ + com.android.os.statsd:service-statsd \ + com.android.scheduling:service-scheduling \ + com.android.tethering:service-connectivity \ + com.android.wifi:service-wifi \ + # Minimal configuration for running dex2oat (default argument values). # PRODUCT_USES_DEFAULT_ART_CONFIG must be true to enable boot image compilation. PRODUCT_USES_DEFAULT_ART_CONFIG := true