• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright (C) 2020 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17# This file contains product config for the ART module that is common for
18# platform and unbundled builds.
19
20ifeq ($(ART_APEX_JARS),)
21  $(error ART_APEX_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable)
22endif
23
24# Order of the jars on BOOTCLASSPATH follows:
25# 1. ART APEX jars
26# 2. System jars
27# 3. System_ext jars
28# 4. Non-updatable APEX jars
29# 5. Updatable APEX jars
30#
31# ART APEX jars (1) are defined in ART_APEX_JARS. System and system_ext boot jars are defined below
32# in PRODUCT_BOOT_JARS. All other non-art APEX boot jars are part of the PRODUCT_APEX_BOOT_JARS.
33#
34# The actual runtime ordering matching above is determined by derive_classpath service at runtime.
35# See packages/modules/SdkExtensions/README.md for more details.
36
37# The order of PRODUCT_BOOT_JARS matters for runtime class lookup performance.
38PRODUCT_BOOT_JARS := \
39    $(ART_APEX_JARS)
40
41# /system and /system_ext boot jars.
42PRODUCT_BOOT_JARS += \
43    framework-minus-apex \
44    framework-graphics \
45    ext \
46    telephony-common \
47    voip-common \
48    ims-common
49
50# APEX boot jars. Keep the list sorted by module names and then library names.
51# Note: core-icu4j is moved back to PRODUCT_BOOT_JARS in product_config.mk at a later stage.
52# Note: For modules available in Q, DO NOT add new entries here.
53PRODUCT_APEX_BOOT_JARS := \
54    com.android.adservices:framework-adservices \
55    com.android.adservices:framework-sdksandbox \
56    com.android.appsearch:framework-appsearch \
57    com.android.btservices:framework-bluetooth \
58    com.android.conscrypt:conscrypt \
59    com.android.i18n:core-icu4j \
60    com.android.ipsec:android.net.ipsec.ike \
61    com.android.media:updatable-media \
62    com.android.mediaprovider:framework-mediaprovider \
63    com.android.ondevicepersonalization:framework-ondevicepersonalization \
64    com.android.os.statsd:framework-statsd \
65    com.android.permission:framework-permission \
66    com.android.permission:framework-permission-s \
67    com.android.scheduling:framework-scheduling \
68    com.android.sdkext:framework-sdkextensions \
69    com.android.tethering:framework-connectivity \
70    com.android.tethering:framework-connectivity-t \
71    com.android.tethering:framework-tethering \
72    com.android.uwb:framework-uwb \
73    com.android.wifi:framework-wifi \
74
75# List of system_server classpath jars delivered via apex.
76# Keep the list sorted by module names and then library names.
77# Note: For modules available in Q, DO NOT add new entries here.
78PRODUCT_APEX_SYSTEM_SERVER_JARS := \
79    com.android.adservices:service-adservices \
80    com.android.adservices:service-sdksandbox \
81    com.android.appsearch:service-appsearch \
82    com.android.art:service-art \
83    com.android.media:service-media-s \
84    com.android.permission:service-permission \
85
86PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION += art/build/boot/boot-image-profile.txt
87
88# List of jars on the platform that system_server loads dynamically using separate classloaders.
89# Keep the list sorted library names.
90PRODUCT_STANDALONE_SYSTEM_SERVER_JARS := \
91
92# List of jars delivered via apex that system_server loads dynamically using separate classloaders.
93# Keep the list sorted by module names and then library names.
94# Note: For modules available in Q, DO NOT add new entries here.
95PRODUCT_APEX_STANDALONE_SYSTEM_SERVER_JARS := \
96    com.android.btservices:service-bluetooth \
97    com.android.os.statsd:service-statsd \
98    com.android.scheduling:service-scheduling \
99    com.android.tethering:service-connectivity \
100    com.android.uwb:service-uwb \
101    com.android.wifi:service-wifi \
102
103# Minimal configuration for running dex2oat (default argument values).
104# PRODUCT_USES_DEFAULT_ART_CONFIG must be true to enable boot image compilation.
105PRODUCT_USES_DEFAULT_ART_CONFIG := true
106PRODUCT_SYSTEM_PROPERTIES += \
107    dalvik.vm.image-dex2oat-Xms=64m \
108    dalvik.vm.image-dex2oat-Xmx=64m \
109    dalvik.vm.dex2oat-Xms=64m \
110    dalvik.vm.dex2oat-Xmx=512m \
111