Merge "Disable VNDK runtime checking" into oc-mr1-dev
diff --git a/core/dex_preopt_odex_install.mk b/core/dex_preopt_odex_install.mk
index cfcfca5..4ff6c8d 100644
--- a/core/dex_preopt_odex_install.mk
+++ b/core/dex_preopt_odex_install.mk
@@ -36,12 +36,16 @@
# if WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY=true and module is not in boot class path skip
# Also preopt system server jars since selinux prevents system server from loading anything from
# /data. If we don't do this they will need to be extracted which is not favorable for RAM usage
-# or performance.
+# or performance. If my_preopt_for_extracted_apk is true, we ignore the only preopt boot image
+# options.
+ifneq (true,$(my_preopt_for_extracted_apk))
ifeq (true,$(WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY))
ifeq ($(filter $(PRODUCT_SYSTEM_SERVER_JARS) $(DEXPREOPT_BOOT_JARS_MODULES),$(LOCAL_MODULE)),)
LOCAL_DEX_PREOPT :=
endif
endif
+endif
+
# if installing into system, and odex are being installed into system_other, don't strip
ifeq ($(BOARD_USES_SYSTEM_OTHER_ODEX),true)
ifeq ($(LOCAL_DEX_PREOPT),true)
diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk
index a9c0bc2..620c22c 100644
--- a/core/prebuilt_internal.mk
+++ b/core/prebuilt_internal.mk
@@ -281,6 +281,11 @@
my_prebuilt_src_file := $(my_extracted_apk)
my_extracted_apk :=
my_extract_apk :=
+ifeq ($(PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK),true)
+# If the product property is set, always preopt for extracted modules to prevent executing out of
+# the APK.
+my_preopt_for_extracted_apk := true
+endif
endif
dex_preopt_profile_src_file := $(my_prebuilt_src_file)
@@ -641,3 +646,4 @@
$(built_module) : $(LOCAL_ADDITIONAL_DEPENDENCIES)
my_prebuilt_src_file :=
+my_preopt_for_extracted_apk :=
diff --git a/core/product.mk b/core/product.mk
index c955ccc..4682dac 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -115,6 +115,7 @@
PRODUCT_SYSTEM_PROPERTY_BLACKLIST \
PRODUCT_SYSTEM_SERVER_APPS \
PRODUCT_SYSTEM_SERVER_JARS \
+ PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK \
PRODUCT_DEXPREOPT_SPEED_APPS \
PRODUCT_VBOOT_SIGNING_KEY \
PRODUCT_VBOOT_SIGNING_SUBKEY \
diff --git a/core/product_config.mk b/core/product_config.mk
index cd62fb2..f7ae834 100644
--- a/core/product_config.mk
+++ b/core/product_config.mk
@@ -260,6 +260,9 @@
PRODUCT_SYSTEM_SERVER_APPS := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SYSTEM_SERVER_APPS))
PRODUCT_DEXPREOPT_SPEED_APPS := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEXPREOPT_SPEED_APPS))
+# All of the apps that we force preopt, this overrides WITH_DEXPREOPT.
+PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK))
+
# Find the device that this product maps to.
TARGET_DEVICE := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEVICE)
diff --git a/target/board/generic_arm64_a/BoardConfig.mk b/target/board/generic_arm64_a/BoardConfig.mk
index 4729744..8f4043f 100644
--- a/target/board/generic_arm64_a/BoardConfig.mk
+++ b/target/board/generic_arm64_a/BoardConfig.mk
@@ -26,4 +26,4 @@
TARGET_2ND_ARCH_VARIANT := armv7-a-neon
TARGET_2ND_CPU_ABI := armeabi-v7a
TARGET_2ND_CPU_ABI2 := armeabi
-TARGET_2ND_CPU_VARIANT := generic
+TARGET_2ND_CPU_VARIANT := cortex-a15
diff --git a/target/board/generic_arm_a/BoardConfig.mk b/target/board/generic_arm_a/BoardConfig.mk
index 57a5196..e3a6707 100644
--- a/target/board/generic_arm_a/BoardConfig.mk
+++ b/target/board/generic_arm_a/BoardConfig.mk
@@ -16,6 +16,9 @@
include build/make/target/board/treble_common_32.mk
+# Overwrite the setting in treble_common_32.mk for non-A/B arm GSI
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 950009856
+
TARGET_ARCH := arm
TARGET_ARCH_VARIANT := armv7-a-neon
TARGET_CPU_ABI := armeabi-v7a
diff --git a/target/board/treble_common_32.mk b/target/board/treble_common_32.mk
index 2c3447b..dbe0899 100644
--- a/target/board/treble_common_32.mk
+++ b/target/board/treble_common_32.mk
@@ -16,5 +16,6 @@
include build/make/target/board/treble_common.mk
-# Partition size is default 906MB for 32 bits projects
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 950009856
+# Partition size defaults to 1 GB (1024 MB) for 32-bit products. It can
+# be overwritten in specific BoardConfig.mk, if so desired.
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1073741824
diff --git a/target/product/runtime_libart.mk b/target/product/runtime_libart.mk
index ed68c78..8aedee7 100644
--- a/target/product/runtime_libart.mk
+++ b/target/product/runtime_libart.mk
@@ -83,4 +83,5 @@
pm.dexopt.install=quicken \
pm.dexopt.bg-dexopt=speed-profile \
pm.dexopt.ab-ota=speed-profile \
- pm.dexopt.inactive=verify
+ pm.dexopt.inactive=verify \
+ pm.dexopt.shared=speed