From 3ec9ff6b722febaeacd4f457c7ec92a56845fd81 Mon Sep 17 00:00:00 2001 From: Roland Levillain Date: Fri, 18 Oct 2019 19:15:38 +0100 Subject: [PATCH] Remove Core Library JARs from `/system/framework`. These JARs are part of the ART APEX, and are now located in `/apex/com.android.art/javalib`. Remove the supernumerary copies in `/system/framework` and save ~11 MiB on the system partition. (cherry picked from commit d4f09f77520f914bbd5d53ded9ac6188b2cd31b5) Test: Device boot test Bug: 142944799 Change-Id: Ia6f58d858ecdb80c9701696b8f20d5fa2de0c2c7 Merged-In: Ia6f58d858ecdb80c9701696b8f20d5fa2de0c2c7 --- CleanSpec.mk | 4 ++++ core/main.mk | 2 ++ target/product/runtime_libart.mk | 8 +++----- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CleanSpec.mk b/CleanSpec.mk index 8219afcd0d..97fea05e51 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -681,6 +681,10 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/apex) # Migrate preopt files to system_other for some devices $(call add-clean-step, rm -rf $(PRODUCT_OUT)/*/*app/*/oat) +# Remove Android Core Library artifacts from the system partition, now +# that they live in the ART APEX (b/142944799). +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/framework/*.jar) + # ************************************************ # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST # ************************************************ diff --git a/core/main.mk b/core/main.mk index 29c5a4ccb7..a5e2456156 100644 --- a/core/main.mk +++ b/core/main.mk @@ -1253,6 +1253,8 @@ else endef endif +# TODO(b/142944799): Implement Java library absence check for Core Libraries. + ifdef FULL_BUILD ifneq (true,$(ALLOW_MISSING_DEPENDENCIES)) # Check to ensure that all modules in PRODUCT_PACKAGES exist (opt in per product) diff --git a/target/product/runtime_libart.mk b/target/product/runtime_libart.mk index 581a72be52..b8cb2ff097 100644 --- a/target/product/runtime_libart.mk +++ b/target/product/runtime_libart.mk @@ -20,11 +20,6 @@ ifeq ($(TARGET_CORE_JARS),) $(error TARGET_CORE_JARS is empty; cannot update PRODUCT_PACKAGES variable) endif -# Minimal boot classpath. This should be a subset of PRODUCT_BOOT_JARS, and equivalent to -# TARGET_CORE_JARS. -PRODUCT_PACKAGES += \ - $(TARGET_CORE_JARS) - # Additional mixins to the boot classpath. PRODUCT_PACKAGES += \ android.test.base \ @@ -37,6 +32,9 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += com.android.runtime # ART APEX module. +# Note that this package includes the minimal boot classpath JARs (listed in +# TARGET_CORE_JARS), which should no longer be added directly to +# PRODUCT_PACKAGES. PRODUCT_PACKAGES += com.android.art PRODUCT_HOST_PACKAGES += com.android.art