From d6e239fc35474165e8d6133f462eda4411136fc9 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Fri, 22 Nov 2019 08:47:40 -0800 Subject: [PATCH] base_system.mk: Support system_server jars from apexes Allow system_server jars delivered via apex. Regular system_server jars are located in /system/framework folder. But, jars delivered via apex are mounted at /apex//javalib. Also, not all the libraries in /apex//javalib will be a system_server jar, so adding a mechanism to list out the jar file explicitly within the apex module. Bug: 144722612 Bug: 141785760 Test: Compiles (both with empty & non-empty PRODUCT_SYSTEM_SERVER_APEX_JARS value set) Change-Id: Ia181ab22fdf2da575bfd532c1cd90a2f54742528 --- core/dex_preopt_config.mk | 1 + core/product.mk | 2 ++ target/product/media_system.mk | 5 +++++ 3 files changed, 8 insertions(+) diff --git a/core/dex_preopt_config.mk b/core/dex_preopt_config.mk index 64ad8d9a3c..c6c6a614b1 100644 --- a/core/dex_preopt_config.mk +++ b/core/dex_preopt_config.mk @@ -97,6 +97,7 @@ ifeq ($(WRITE_SOONG_VARIABLES),true) $(call add_json_list, ProductUpdatableBootLocations, $(PRODUCT_UPDATABLE_BOOT_LOCATIONS)) $(call add_json_list, SystemServerJars, $(PRODUCT_SYSTEM_SERVER_JARS)) $(call add_json_list, SystemServerApps, $(PRODUCT_SYSTEM_SERVER_APPS)) + $(call add_json_list, UpdatableSystemServerJars, $(PRODUCT_UPDATABLE_SYSTEM_SERVER_JARS)) $(call add_json_list, SpeedApps, $(PRODUCT_DEXPREOPT_SPEED_APPS)) $(call add_json_list, PreoptFlags, $(PRODUCT_DEX_PREOPT_DEFAULT_FLAGS)) $(call add_json_str, DefaultCompilerFilter, $(PRODUCT_DEX_PREOPT_DEFAULT_COMPILER_FILTER)) diff --git a/core/product.mk b/core/product.mk index 102e6a5c19..f451706586 100644 --- a/core/product.mk +++ b/core/product.mk @@ -228,6 +228,8 @@ _product_list_vars += PRODUCT_SYSTEM_PROPERTY_BLACKLIST _product_list_vars += PRODUCT_VENDOR_PROPERTY_BLACKLIST _product_list_vars += PRODUCT_SYSTEM_SERVER_APPS _product_list_vars += PRODUCT_SYSTEM_SERVER_JARS +# List of system_server jars delivered via apex. Format = :. +_product_list_vars += PRODUCT_UPDATABLE_SYSTEM_SERVER_JARS # All of the apps that we force preopt, this overrides WITH_DEXPREOPT. _product_list_vars += PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK diff --git a/target/product/media_system.mk b/target/product/media_system.mk index 5c0902dbcf..c2c97629bc 100644 --- a/target/product/media_system.mk +++ b/target/product/media_system.mk @@ -56,6 +56,11 @@ PRODUCT_SYSTEM_SERVER_JARS := \ wifi-service \ com.android.location.provider \ +# system server jars which are updated via apex modules. +# The values should be of the format : +PRODUCT_UPDATABLE_SYSTEM_SERVER_JARS := \ + # Ex: com.android.wifi:wifi-service + PRODUCT_COPY_FILES += \ system/core/rootdir/etc/public.libraries.android.txt:system/etc/public.libraries.txt