Add PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES

For GSI targets, this variable is set true, and Soong will install both
"flattened" and "unflattened" APEXes together in /system_ext and /system
respectively.

Bug: 137802149
Test: lunch aosp_arm64-userdebug && m
  resulting apex images under /system/apex
  and flattened apexes under /system/system_ext/apex

Change-Id: Ib72d1b9dbd59727942da39323ee7e60ac6e14882
This commit is contained in:
Jooyung Han 2019-12-05 16:14:18 +09:00
parent 3b500a7ec3
commit 9efe534ef1
4 changed files with 14 additions and 3 deletions

View file

@ -1186,9 +1186,10 @@ APEX_MODULE_LIBS += \
# still may create these libraries in /system (b/129006418).
DISABLE_APEX_LIBS_ABSENCE_CHECK ?=
# Allow APEX libraries under /system/apex, which happens when APEX flattening
# is enabled.
APEX_LIBS_ABSENCE_CHECK_EXCLUDE := apex
# Allow APEX libraries under:
# /system/apex, which happens when APEX flattening is enabled.
# /system/system_ext, which happens with GSI
APEX_LIBS_ABSENCE_CHECK_EXCLUDE := apex system_ext
# Bionic should not be in /system, except for the bootstrap instance.
APEX_LIBS_ABSENCE_CHECK_EXCLUDE += lib/bootstrap lib64/bootstrap

View file

@ -381,6 +381,8 @@ _product_single_value_vars += PRODUCT_VIRTUAL_AB_OTA_RETROFIT
# If set, Java module in product partition cannot use hidden APIs.
_product_single_value_vars += PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE
_product_single_value_vars += PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES
.KATI_READONLY := _product_single_value_vars _product_list_vars
_product_var_list :=$= $(_product_single_value_vars) $(_product_list_vars)

View file

@ -199,6 +199,8 @@ $(call end_json_map)
$(call add_json_bool, EnforceProductPartitionInterface, $(PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE))
$(call add_json_bool, InstallExtraFlattenedApexes, $(PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES))
$(call json_end)
$(file >$(SOONG_VARIABLES).tmp,$(json_contents))

View file

@ -38,6 +38,12 @@ PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true
# Needed by Pi newly launched device to pass VtsTrebleSysProp on GSI
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true
# GSI targets should install "unflattened" APEXes in /system
TARGET_FLATTEN_APEX := false
# GSI targets should install "flattened" APEXes in /system_ext as well
PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES := true
# GSI specific tasks on boot
PRODUCT_PACKAGES += \
gsi_skip_mount.cfg \