diff --git a/core/dex_preopt.mk b/core/dex_preopt.mk index 8017486b76..180edafbbb 100644 --- a/core/dex_preopt.mk +++ b/core/dex_preopt.mk @@ -22,19 +22,28 @@ DEFAULT_DEX_PREOPT_INSTALLED_IMAGE := $(TARGET_2ND_ARCH_VAR_PREFIX)DEFAULT_DEX_PREOPT_INSTALLED_IMAGE := $(foreach my_boot_image_name,$(DEXPREOPT_IMAGE_NAMES),$(eval include $(BUILD_SYSTEM)/dex_preopt_libart.mk)) -boot_profile_jars_zip := $(PRODUCT_OUT)/boot_profile_jars.zip +# Build the boot.zip which contains the boot jars and their compilation output +# We can do this only if preopt is enabled and if the product uses libart config (which sets the +# default properties for preopting). +ifeq ($(WITH_DEXPREOPT), true) +ifeq ($(PRODUCT_USES_ART), true) + +boot_zip := $(PRODUCT_OUT)/boot.zip bootclasspath_jars := $(DEXPREOPT_BOOTCLASSPATH_DEX_FILES) system_server_jars := $(foreach m,$(PRODUCT_SYSTEM_SERVER_JARS),$(PRODUCT_OUT)/system/framework/$(m).jar) -$(boot_profile_jars_zip): PRIVATE_BOOTCLASSPATH_JARS := $(bootclasspath_jars) -$(boot_profile_jars_zip): PRIVATE_SYSTEM_SERVER_JARS := $(system_server_jars) -$(boot_profile_jars_zip): $(bootclasspath_jars) $(system_server_jars) $(SOONG_ZIP) - @echo "Create boot profiles package: $@" +$(boot_zip): PRIVATE_BOOTCLASSPATH_JARS := $(bootclasspath_jars) +$(boot_zip): PRIVATE_SYSTEM_SERVER_JARS := $(system_server_jars) +$(boot_zip): $(bootclasspath_jars) $(system_server_jars) $(SOONG_ZIP) $(MERGE_ZIPS) $(DEXPREOPT_IMAGE_ZIP_boot) + @echo "Create boot package: $@" rm -f $@ - $(SOONG_ZIP) -o $@ \ + $(SOONG_ZIP) -o $@.tmp \ -C $(dir $(firstword $(PRIVATE_BOOTCLASSPATH_JARS)))/.. $(addprefix -f ,$(PRIVATE_BOOTCLASSPATH_JARS)) \ -C $(PRODUCT_OUT) $(addprefix -f ,$(PRIVATE_SYSTEM_SERVER_JARS)) + $(MERGE_ZIPS) $@ $@.tmp $(DEXPREOPT_IMAGE_ZIP_boot) + rm -f $@.tmp -ifeq ($(PRODUCT_DIST_BOOT_AND_SYSTEM_JARS),true) -$(call dist-for-goals, droidcore, $(boot_profile_jars_zip)) -endif +$(call dist-for-goals, droidcore, $(boot_zip)) + +endif #PRODUCT_USES_ART +endif #WITH_DEXPREOPT diff --git a/core/product.mk b/core/product.mk index 777d2bc0f6..192d58c83f 100644 --- a/core/product.mk +++ b/core/product.mk @@ -245,6 +245,7 @@ _product_var_list += PRODUCT_DEX_PREOPT_NEVER_ALLOW_STRIPPING _product_var_list += \ PRODUCT_USE_PROFILE_FOR_BOOT_IMAGE \ PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION \ + PRODUCT_USES_ART \ _product_var_list += PRODUCT_SYSTEM_SERVER_COMPILER_FILTER # Per-module sanitizer configs diff --git a/target/product/runtime_libart.mk b/target/product/runtime_libart.mk index e08b56be53..5aa21143a1 100644 --- a/target/product/runtime_libart.mk +++ b/target/product/runtime_libart.mk @@ -91,3 +91,9 @@ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ dalvik.vm.minidebuginfo=true \ dalvik.vm.dex2oat-minidebuginfo=true + +# Disable iorapd by default +PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ + ro.iorapd.enable=false + +PRODUCT_USES_ART := true