Apply vndk_package to generic system image
Add vndk_package into PRODUCT_PACKAGES, which includes
HAL interfaces, VNDK, VNDK-SP and LL-NDK.
vndk_package increases the total size of GSI content, so
changes the system partition size of:
* 64 bits projects to 1.5GB
* 32 bits projects to 1.0GB
Bug: 64654641
Test: build all GSI projects
Change-Id: I3c66c966eceebd63ee19f6a3de778beed0be6de5
diff --git a/target/board/generic_arm_a/BoardConfig.mk b/target/board/generic_arm_a/BoardConfig.mk
index 5293ae6..57a5196 100644
--- a/target/board/generic_arm_a/BoardConfig.mk
+++ b/target/board/generic_arm_a/BoardConfig.mk
@@ -21,7 +21,3 @@
TARGET_CPU_ABI := armeabi-v7a
TARGET_CPU_ABI2 := armeabi
TARGET_CPU_VARIANT := generic
-
-# b/64458958
-# Partition size is 734MB for ARM32 (non A/B update)
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 769654784
diff --git a/target/board/generic_arm_ab/BoardConfig.mk b/target/board/generic_arm_ab/BoardConfig.mk
index 376aaab..ae8de14 100644
--- a/target/board/generic_arm_ab/BoardConfig.mk
+++ b/target/board/generic_arm_ab/BoardConfig.mk
@@ -25,7 +25,3 @@
# Enable A/B update
TARGET_NO_RECOVERY := true
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
-
-# b/64458958
-# Partition size is 734MB for ARM32 (A/B update)
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 769654784
diff --git a/target/board/treble_common.mk b/target/board/treble_common.mk
index de31f5a..f7c8b32 100644
--- a/target/board/treble_common.mk
+++ b/target/board/treble_common.mk
@@ -17,6 +17,9 @@
# Common boardconfig settings for generic AOSP products targetting mobile
# (phone/table) devices.
+# VNDK
+BOARD_VNDK_VERSION := current
+
# Properties
TARGET_SYSTEM_PROP := build/make/target/board/treble_system.prop
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
diff --git a/target/board/treble_common_32.mk b/target/board/treble_common_32.mk
index 67041a1..fb19d79 100644
--- a/target/board/treble_common_32.mk
+++ b/target/board/treble_common_32.mk
@@ -16,5 +16,5 @@
include build/make/target/board/treble_common.mk
-# Partition size is default 0.75GB (768MB) for 32 bits projects
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 805306368
+# Partition size is default 1GB (1024MB) for 32 bits projects
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1073741824
diff --git a/target/board/treble_common_64.mk b/target/board/treble_common_64.mk
index 957f593..0a6eb17 100644
--- a/target/board/treble_common_64.mk
+++ b/target/board/treble_common_64.mk
@@ -19,5 +19,5 @@
# Enable 64-bits binder
TARGET_USES_64_BIT_BINDER := true
-# Partition size is default 1.25GB (1280MB) for 64 bits projects
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1342177280
+# Partition size is default 1.5GB (1536MB) for 64 bits projects
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736
diff --git a/target/product/treble_common.mk b/target/product/treble_common.mk
index 07c7ae1..2488653 100644
--- a/target/product/treble_common.mk
+++ b/target/product/treble_common.mk
@@ -22,179 +22,11 @@
# Split selinux policy
PRODUCT_FULL_TREBLE_OVERRIDE := true
-# HAL interfaces:
-# Some of HAL interface libraries are automatically added by the dependencies
-# from the framework. However, we list them all here to make it explicit and
-# prevent possible mistake.
-PRODUCT_PACKAGES := \
- android.frameworks.displayservice@1.0 \
- android.frameworks.schedulerservice@1.0 \
- android.frameworks.sensorservice@1.0 \
- android.frameworks.vr.composer@1.0 \
- android.hardware.audio@2.0 \
- android.hardware.audio.common@2.0 \
- android.hardware.audio.common@2.0-util \
- android.hardware.audio.effect@2.0 \
- android.hardware.automotive.evs@1.0 \
- android.hardware.automotive.vehicle@2.0 \
- android.hardware.automotive.vehicle@2.0-manager-lib-shared \
- android.hardware.automotive.vehicle@2.1 \
- android.hardware.biometrics.fingerprint@2.1 \
- android.hardware.bluetooth@1.0 \
- android.hardware.boot@1.0 \
- android.hardware.broadcastradio@1.0 \
- android.hardware.broadcastradio@1.1 \
- android.hardware.camera.common@1.0 \
- android.hardware.camera.device@1.0 \
- android.hardware.camera.device@3.2 \
- android.hardware.camera.metadata@3.2 \
- android.hardware.camera.provider@2.4 \
- android.hardware.configstore-utils \
- android.hardware.configstore@1.0 \
- android.hardware.configstore@1.1 \
- android.hardware.contexthub@1.0 \
- android.hardware.drm@1.0 \
- android.hardware.dumpstate@1.0 \
- android.hardware.gatekeeper@1.0 \
- android.hardware.gnss@1.0 \
- android.hardware.graphics.allocator@2.0 \
- android.hardware.graphics.bufferqueue@1.0 \
- android.hardware.graphics.common@1.0 \
- android.hardware.graphics.composer@2.1 \
- android.hardware.graphics.mapper@2.0 \
- android.hardware.health@1.0 \
- android.hardware.ir@1.0 \
- android.hardware.keymaster@3.0 \
- android.hardware.light@2.0 \
- android.hardware.media@1.0 \
- android.hardware.media.omx@1.0-utils \
- android.hardware.media.omx@1.0 \
- android.hardware.memtrack@1.0 \
- android.hardware.nfc@1.0 \
- android.hardware.oemlock@1.0 \
- android.hardware.power@1.0 \
- android.hardware.radio@1.0 \
- android.hardware.radio.deprecated@1.0 \
- android.hardware.sensors@1.0 \
- android.hardware.soundtrigger@2.0 \
- android.hardware.tetheroffload.config@1.0 \
- android.hardware.tetheroffload.control@1.0 \
- android.hardware.thermal@1.0 \
- android.hardware.thermal@1.1 \
- android.hardware.tv.cec@1.0 \
- android.hardware.tv.input@1.0 \
- android.hardware.usb@1.0 \
- android.hardware.usb@1.1 \
- android.hardware.vibrator@1.0 \
- android.hardware.vr@1.0 \
- android.hardware.weaver@1.0 \
- android.hardware.wifi@1.0 \
- android.hardware.wifi@1.1 \
- android.hardware.wifi.supplicant@1.0 \
- android.hidl.allocator@1.0 \
- android.hidl.manager@1.0 \
- android.hidl.memory@1.0 \
- android.hidl.token@1.0 \
- android.system.net.netd@1.0 \
- android.system.wifi.keystore@1.0 \
-
-# VNDK:
-# Some VNDK shared objects are automatically included indirectly.
-# We list them all here to make it explicit and prevent possible mistakes.
-# An example of one such mistake was libcurl, which is included in A/B
-# devices because of update_engine, but not in non-A/B devices.
-PRODUCT_PACKAGES += \
- libaudioroute \
- libaudioutils \
- libbinder \
- libcamera_metadata \
- libcap \
- libcrypto \
- libcrypto_utils \
- libcups \
- libcurl \
- libdiskconfig \
- libdumpstateutil \
- libevent \
- libexif \
- libexpat \
- libfmq \
- libgatekeeper \
- libgui \
- libhardware_legacy \
- libhidlmemory \
- libicui18n \
- libicuuc \
- libjpeg \
- libkeymaster1 \
- libkeymaster_messages \
- libldacBT_abr \
- libldacBT_enc \
- liblz4 \
- liblzma \
- libmdnssd \
- libmemtrack \
- libmemunreachable \
- libmetricslogger \
- libminijail \
- libnetutils \
- libnl \
- libopus \
- libpagemap \
- libpcap \
- libpcre2 \
- libpcrecpp \
- libpdfium \
- libpiex \
- libpower \
- libprocessgroup \
- libprocinfo \
- libprotobuf-cpp-full \
- libprotobuf-cpp-lite \
- libradio_metadata \
- libsoftkeymasterdevice \
- libsonic \
- libsonivox \
- libspeexresampler \
- libsqlite \
- libssl \
- libsuspend \
- libsysutils \
- libtinyalsa \
- libtinyxml2 \
- libui \
- libusbhost \
- libvixl-arm \
- libvixl-arm64 \
- libvorbisidec \
- libwebrtc_audio_preprocessing \
- libxml2 \
- libyuv \
- libziparchive \
-
-# VNDK-SP:
-PRODUCT_PACKAGES += \
- vndk-sp \
-
-# LL-NDK:
-PRODUCT_PACKAGES += \
- libandroid_net \
- libc \
- libdl \
- liblog \
- libm \
- libstdc++ \
- libvndksupport \
- libz \
+# All VNDK libraries (HAL interfaces, VNDK, VNDK-SP, LL-NDK)
+PRODUCT_PACKAGES += vndk_package
# SP-NDK:
PRODUCT_PACKAGES += \
- libEGL \
- libGLESv1_CM \
- libGLESv2 \
- libGLESv3 \
- libnativewindow \
- libsync \
libvulkan \
# Audio: