diff --git a/core/dex_preopt.mk b/core/dex_preopt.mk index 83c4a9523a..270e5f4fed 100644 --- a/core/dex_preopt.mk +++ b/core/dex_preopt.mk @@ -46,6 +46,16 @@ ifeq ($(HOST_OS),linux) ifneq (false,$(WITH_DEXPREOPT_DEBUG_INFO)) PRODUCT_DEX_PREOPT_BOOT_FLAGS += --generate-mini-debug-info endif + + # Non eng linux builds must have preopt enabled so that system server doesn't run as interpreter + # only. b/74209329 + ifeq (,$(filter eng, $(TARGET_BUILD_VARIANT))) + ifneq (true,$(WITH_DEXPREOPT)) + ifneq (true,$(WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY)) + $(call pretty-error, DEXPREOPT must be enabled for user and userdebug builds) + endif + endif + endif endif GLOBAL_DEXPREOPT_FLAGS := diff --git a/core/product.mk b/core/product.mk index 6cccebf214..19ede82dd0 100644 --- a/core/product.mk +++ b/core/product.mk @@ -317,8 +317,7 @@ _product_stash_var_list += \ _product_stash_var_list += \ DEFAULT_SYSTEM_DEV_CERTIFICATE \ WITH_DEXPREOPT \ - WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY \ - WITH_DEXPREOPT_APP_IMAGE + WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY # # Mark the variables in _product_stash_var_list as readonly