diff --git a/core/dex_preopt_config.mk b/core/dex_preopt_config.mk index 7b9c4dbac0..67394595f6 100644 --- a/core/dex_preopt_config.mk +++ b/core/dex_preopt_config.mk @@ -111,6 +111,7 @@ ifeq ($(WRITE_SOONG_VARIABLES),true) $(call add_json_list, BootJars, $(PRODUCT_BOOT_JARS)) $(call add_json_list, ApexBootJars, $(PRODUCT_APEX_BOOT_JARS)) $(call add_json_list, ArtApexJars, $(filter $(PRODUCT_BOOT_JARS),$(ART_APEX_JARS))) + $(call add_json_list, TestOnlyArtBootImageJars, $(PRODUCT_TEST_ONLY_ART_BOOT_IMAGE_JARS)) $(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)) diff --git a/core/product.mk b/core/product.mk index 8f4db38038..99b3dea439 100644 --- a/core/product.mk +++ b/core/product.mk @@ -146,6 +146,9 @@ _product_list_vars += PRODUCT_BOOT_JARS # PRODUCT_BOOT_JARS, so that device-specific jars go after common jars. _product_list_vars += PRODUCT_BOOT_JARS_EXTRA +# List of jars to be included in the ART boot image for testing. +_product_list_vars += PRODUCT_TEST_ONLY_ART_BOOT_IMAGE_JARS + _product_single_value_vars += PRODUCT_SUPPORTS_VBOOT _product_list_vars += PRODUCT_SYSTEM_SERVER_APPS # List of system_server classpath jars on the platform. @@ -317,6 +320,10 @@ _product_list_vars += PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES _product_list_vars += PRODUCT_PACKAGE_NAME_OVERRIDES _product_list_vars += PRODUCT_CERTIFICATE_OVERRIDES +# Overrides the (apex, jar) pairs above when determining the on-device location. The format is: +# ::: +_product_list_vars += PRODUCT_CONFIGURED_JAR_LOCATION_OVERRIDES + # Controls for whether different partitions are built for the current product. _product_single_value_vars += PRODUCT_BUILD_SYSTEM_IMAGE _product_single_value_vars += PRODUCT_BUILD_SYSTEM_OTHER_IMAGE diff --git a/core/soong_config.mk b/core/soong_config.mk index 0d5799c6a9..88a210a75d 100644 --- a/core/soong_config.mk +++ b/core/soong_config.mk @@ -235,6 +235,7 @@ $(call add_json_bool, WithDexpreopt, $(filter true,$(WITH_DE $(call add_json_list, ManifestPackageNameOverrides, $(PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES)) $(call add_json_list, PackageNameOverrides, $(PRODUCT_PACKAGE_NAME_OVERRIDES)) $(call add_json_list, CertificateOverrides, $(PRODUCT_CERTIFICATE_OVERRIDES)) +$(call add_json_list, ConfiguredJarLocationOverrides, $(PRODUCT_CONFIGURED_JAR_LOCATION_OVERRIDES)) $(call add_json_str, ApexGlobalMinSdkVersionOverride, $(APEX_GLOBAL_MIN_SDK_VERSION_OVERRIDE)) diff --git a/target/product/default_art_config.mk b/target/product/default_art_config.mk index 1e28c80bee..aca64b8858 100644 --- a/target/product/default_art_config.mk +++ b/target/product/default_art_config.mk @@ -38,6 +38,11 @@ endif PRODUCT_BOOT_JARS := \ $(ART_APEX_JARS) +# List of jars to be included in the ART boot image for testing. +# DO NOT reorder this list. The order must match the one described above. +PRODUCT_TEST_ONLY_ART_BOOT_IMAGE_JARS := \ + $(ART_APEX_JARS) + # /system and /system_ext boot jars. PRODUCT_BOOT_JARS += \ framework-minus-apex \ @@ -106,6 +111,11 @@ PRODUCT_APEX_STANDALONE_SYSTEM_SERVER_JARS := \ com.android.uwb:service-uwb \ com.android.wifi:service-wifi \ +# Overrides the (apex, jar) pairs above when determining the on-device location. The format is: +# ::: +PRODUCT_CONFIGURED_JAR_LOCATION_OVERRIDES := \ + platform:framework-minus-apex:platform:framework \ + # 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