Files
build/target/product/gsi_release.mk
Hung-ying Tyan 73e0442fec Add a GSI overlay for the framework package
This overlay is used to override the default value of the config_multiuserMaximumUsers resource in the framework package. This is necessary because the default value of this resource is 1, which is too low for CTS (like ProxyMediaRouter2HostSideTest) to add test users.

Bug: 347122747
Change-Id: I351a96c49b698570f67742b176274124c41018c9
Test: TH
2024-06-20 04:55:43 +00:00

97 lines
3.0 KiB
Makefile

#
# Copyright (C) 2019 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# The makefile contains the special settings for GSI releasing.
# This makefile is used for the build targets which used for releasing GSI.
#
# For example:
# - Released GSI contains skip_mount.cfg to skip mounting prodcut paritition
# - Released GSI contains more VNDK packages to support old version vendors
# - etc.
#
# See device/generic/common/README.md for more details.
#
BUILDING_GSI := true
PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
system/etc/init/config \
system/product/% \
system/system_ext/%
# GSI should always support up-to-date platform features.
# Keep this value at the latest API level to ensure latest build system
# default configs are applied.
PRODUCT_SHIPPING_API_LEVEL := 34
# Enable dynamic partitions to facilitate mixing onto Cuttlefish
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# Enable dynamic partition size
PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true
# GSI specific tasks on boot
PRODUCT_PACKAGES += \
gsi_skip_mount.cfg \
init.gsi.rc \
init.vndk-nodef.rc \
# Overlay the GSI specific setting for framework and SystemUI
ifneq ($(PRODUCT_IS_AUTOMOTIVE),true)
PRODUCT_PACKAGES += \
gsi_overlay_framework \
gsi_overlay_systemui \
PRODUCT_COPY_FILES += \
device/generic/common/overlays/overlay-config.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/overlay/config/config.xml
endif
# Support additional VNDK snapshots
PRODUCT_EXTRA_VNDK_VERSIONS := \
30 \
31 \
32 \
33 \
34 \
# Do not build non-GSI partition images.
PRODUCT_BUILD_CACHE_IMAGE := false
PRODUCT_BUILD_DEBUG_BOOT_IMAGE := false
PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE := false
PRODUCT_BUILD_USERDATA_IMAGE := false
PRODUCT_BUILD_VENDOR_IMAGE := false
PRODUCT_BUILD_SUPER_PARTITION := false
PRODUCT_BUILD_SUPER_EMPTY_IMAGE := false
PRODUCT_BUILD_SYSTEM_DLKM_IMAGE := false
PRODUCT_EXPORT_BOOT_IMAGE_TO_DIST := true
# Additional settings used in all GSI builds
PRODUCT_PRODUCT_PROPERTIES += \
ro.crypto.metadata_init_delete_all_keys.enabled=false \
# Window Extensions
ifneq ($(PRODUCT_IS_ATV),true)
$(call inherit-product, $(SRC_TARGET_DIR)/product/window_extensions.mk)
endif
# A GSI is to be mixed with different boot images. That means we can't determine
# the kernel version when building a GSI.
# Assume the device supports UFFD. If it doesn't, the ART runtime will fall back
# to CC, and odrefresh will regenerate core dexopt artifacts on the first boot,
# so this is okay.
PRODUCT_ENABLE_UFFD_GC := true