2020-11-25 19:15:33 +01:00
|
|
|
#
|
|
|
|
# Copyright (C) 2020 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.
|
|
|
|
#
|
|
|
|
|
2021-11-05 19:00:22 +01:00
|
|
|
# This file contains product config for the ART module that is common for
|
|
|
|
# platform and unbundled builds.
|
|
|
|
|
2020-11-25 19:15:33 +01:00
|
|
|
ifeq ($(ART_APEX_JARS),)
|
|
|
|
$(error ART_APEX_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable)
|
|
|
|
endif
|
|
|
|
|
2021-04-27 16:33:08 +02:00
|
|
|
# Order of the jars on BOOTCLASSPATH follows:
|
|
|
|
# 1. ART APEX jars
|
|
|
|
# 2. System jars
|
|
|
|
# 3. System_ext jars
|
|
|
|
# 4. Non-updatable APEX jars
|
|
|
|
# 5. Updatable APEX jars
|
|
|
|
#
|
2021-07-20 14:52:16 +02:00
|
|
|
# ART APEX jars (1) are defined in ART_APEX_JARS. System and system_ext boot jars are defined below
|
|
|
|
# in PRODUCT_BOOT_JARS. All other non-art APEX boot jars are part of the PRODUCT_APEX_BOOT_JARS.
|
2021-04-27 16:33:08 +02:00
|
|
|
#
|
|
|
|
# The actual runtime ordering matching above is determined by derive_classpath service at runtime.
|
|
|
|
# See packages/modules/SdkExtensions/README.md for more details.
|
|
|
|
|
|
|
|
# The order of PRODUCT_BOOT_JARS matters for runtime class lookup performance.
|
2020-11-25 19:15:33 +01:00
|
|
|
PRODUCT_BOOT_JARS := \
|
2021-04-27 16:33:08 +02:00
|
|
|
$(ART_APEX_JARS)
|
|
|
|
|
2023-07-12 17:55:10 +02:00
|
|
|
# List of jars to be included in the ART boot image for testing.
|
|
|
|
# DO NOT reorder this list. The order must match the one described above.
|
2023-07-12 17:55:39 +02:00
|
|
|
# Note: We use the host variant of "core-icu4j" and "conscrypt" for testing.
|
2023-07-12 17:55:10 +02:00
|
|
|
PRODUCT_TEST_ONLY_ART_BOOT_IMAGE_JARS := \
|
2023-07-12 17:55:39 +02:00
|
|
|
$(ART_APEX_JARS) \
|
|
|
|
platform:core-icu4j-host \
|
|
|
|
platform:conscrypt-host \
|
2023-07-12 17:55:10 +02:00
|
|
|
|
2021-04-27 16:33:08 +02:00
|
|
|
# /system and /system_ext boot jars.
|
|
|
|
PRODUCT_BOOT_JARS += \
|
2020-11-25 19:15:33 +01:00
|
|
|
framework-minus-apex \
|
|
|
|
framework-graphics \
|
|
|
|
ext \
|
|
|
|
telephony-common \
|
|
|
|
voip-common \
|
|
|
|
ims-common
|
|
|
|
|
2021-06-15 12:35:40 +02:00
|
|
|
# APEX boot jars. Keep the list sorted by module names and then library names.
|
|
|
|
# Note: core-icu4j is moved back to PRODUCT_BOOT_JARS in product_config.mk at a later stage.
|
2021-12-22 14:38:17 +01:00
|
|
|
# Note: For modules available in Q, DO NOT add new entries here.
|
2021-07-20 14:52:16 +02:00
|
|
|
PRODUCT_APEX_BOOT_JARS := \
|
2022-02-23 16:54:08 +01:00
|
|
|
com.android.adservices:framework-adservices \
|
2022-03-02 17:15:55 +01:00
|
|
|
com.android.adservices:framework-sdksandbox \
|
2020-11-25 19:15:33 +01:00
|
|
|
com.android.appsearch:framework-appsearch \
|
2022-06-22 22:19:47 +02:00
|
|
|
com.android.btservices:framework-bluetooth \
|
2020-11-25 19:15:33 +01:00
|
|
|
com.android.conscrypt:conscrypt \
|
2021-06-15 12:35:40 +02:00
|
|
|
com.android.i18n:core-icu4j \
|
2021-04-28 14:27:33 +02:00
|
|
|
com.android.ipsec:android.net.ipsec.ike \
|
2020-11-25 19:15:33 +01:00
|
|
|
com.android.media:updatable-media \
|
|
|
|
com.android.mediaprovider:framework-mediaprovider \
|
2022-02-13 07:26:55 +01:00
|
|
|
com.android.ondevicepersonalization:framework-ondevicepersonalization \
|
2020-11-25 19:15:33 +01:00
|
|
|
com.android.os.statsd:framework-statsd \
|
|
|
|
com.android.permission:framework-permission \
|
2021-01-12 03:11:39 +01:00
|
|
|
com.android.permission:framework-permission-s \
|
2020-12-09 00:28:43 +01:00
|
|
|
com.android.scheduling:framework-scheduling \
|
2020-11-25 19:15:33 +01:00
|
|
|
com.android.sdkext:framework-sdkextensions \
|
2021-03-09 07:43:23 +01:00
|
|
|
com.android.tethering:framework-connectivity \
|
2022-02-08 14:21:41 +01:00
|
|
|
com.android.tethering:framework-connectivity-t \
|
2021-04-28 14:27:33 +02:00
|
|
|
com.android.tethering:framework-tethering \
|
2021-07-30 06:34:53 +02:00
|
|
|
com.android.uwb:framework-uwb \
|
2022-10-25 14:09:59 +02:00
|
|
|
com.android.virt:framework-virtualization \
|
2022-02-08 23:32:32 +01:00
|
|
|
com.android.wifi:framework-wifi \
|
|
|
|
|
2021-10-28 16:37:20 +02:00
|
|
|
# List of system_server classpath jars delivered via apex.
|
|
|
|
# Keep the list sorted by module names and then library names.
|
2021-12-22 14:38:17 +01:00
|
|
|
# Note: For modules available in Q, DO NOT add new entries here.
|
2021-07-27 13:32:40 +02:00
|
|
|
PRODUCT_APEX_SYSTEM_SERVER_JARS := \
|
2022-02-23 16:54:08 +01:00
|
|
|
com.android.adservices:service-adservices \
|
2022-03-02 17:15:55 +01:00
|
|
|
com.android.adservices:service-sdksandbox \
|
2021-06-08 17:02:05 +02:00
|
|
|
com.android.appsearch:service-appsearch \
|
|
|
|
com.android.art:service-art \
|
|
|
|
com.android.media:service-media-s \
|
|
|
|
com.android.permission:service-permission \
|
2022-11-18 20:20:39 +01:00
|
|
|
com.android.rkpd:service-rkp \
|
2021-06-08 17:02:05 +02:00
|
|
|
|
2022-05-17 23:22:17 +02:00
|
|
|
# Use $(wildcard) to avoid referencing the profile in thin manifests that don't have the
|
|
|
|
# art project.
|
|
|
|
ifneq (,$(wildcard art))
|
|
|
|
PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION += art/build/boot/boot-image-profile.txt
|
|
|
|
endif
|
2021-11-05 19:00:22 +01:00
|
|
|
|
2021-10-28 16:37:20 +02:00
|
|
|
# List of jars on the platform that system_server loads dynamically using separate classloaders.
|
|
|
|
# Keep the list sorted library names.
|
|
|
|
PRODUCT_STANDALONE_SYSTEM_SERVER_JARS := \
|
|
|
|
|
|
|
|
# List of jars delivered via apex that system_server loads dynamically using separate classloaders.
|
|
|
|
# Keep the list sorted by module names and then library names.
|
2021-12-22 14:38:17 +01:00
|
|
|
# Note: For modules available in Q, DO NOT add new entries here.
|
2021-10-28 16:37:20 +02:00
|
|
|
PRODUCT_APEX_STANDALONE_SYSTEM_SERVER_JARS := \
|
2022-06-22 22:19:47 +02:00
|
|
|
com.android.btservices:service-bluetooth \
|
2021-10-28 16:37:20 +02:00
|
|
|
com.android.os.statsd:service-statsd \
|
|
|
|
com.android.scheduling:service-scheduling \
|
|
|
|
com.android.tethering:service-connectivity \
|
2021-12-20 21:21:14 +01:00
|
|
|
com.android.uwb:service-uwb \
|
2021-10-28 16:37:20 +02:00
|
|
|
com.android.wifi:service-wifi \
|
|
|
|
|
2023-07-12 17:54:56 +02:00
|
|
|
# Overrides the (apex, jar) pairs above when determining the on-device location. The format is:
|
|
|
|
# <old_apex>:<old_jar>:<new_apex>:<new_jar>
|
|
|
|
PRODUCT_CONFIGURED_JAR_LOCATION_OVERRIDES := \
|
|
|
|
platform:framework-minus-apex:platform:framework \
|
2023-07-12 17:55:39 +02:00
|
|
|
platform:core-icu4j-host:com.android.i18n:core-icu4j \
|
|
|
|
platform:conscrypt-host:com.android.conscrypt:conscrypt \
|
2023-07-12 17:54:56 +02:00
|
|
|
|
2021-01-15 17:17:36 +01:00
|
|
|
# Minimal configuration for running dex2oat (default argument values).
|
|
|
|
# PRODUCT_USES_DEFAULT_ART_CONFIG must be true to enable boot image compilation.
|
|
|
|
PRODUCT_USES_DEFAULT_ART_CONFIG := true
|
|
|
|
PRODUCT_SYSTEM_PROPERTIES += \
|
|
|
|
dalvik.vm.image-dex2oat-Xms=64m \
|
|
|
|
dalvik.vm.image-dex2oat-Xmx=64m \
|
|
|
|
dalvik.vm.dex2oat-Xms=64m \
|
|
|
|
dalvik.vm.dex2oat-Xmx=512m \
|
2022-11-16 12:52:00 +01:00
|
|
|
|
2023-05-30 17:08:33 +02:00
|
|
|
PRODUCT_ENABLE_UFFD_GC := default
|