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 17ifeq ($(ART_APEX_JARS),) 18 $(error ART_APEX_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable) 19endif 20 21# Order of the jars on BOOTCLASSPATH follows: 22# 1. ART APEX jars 23# 2. System jars 24# 3. System_ext jars 25# 4. Non-updatable APEX jars 26# 5. Updatable APEX jars 27# 28# ART APEX jars (1) are defined in ART_APEX_JARS. System, system_ext, and non updatable boot jars 29# are defined below in PRODUCT_BOOT_JARS. All updatable APEX boot jars are part of 30# PRODUCT_UPDATABLE_BOOT_JARS. 31# 32# The actual runtime ordering matching above is determined by derive_classpath service at runtime. 33# See packages/modules/SdkExtensions/README.md for more details. 34 35# The order of PRODUCT_BOOT_JARS matters for runtime class lookup performance. 36PRODUCT_BOOT_JARS := \ 37 $(ART_APEX_JARS) 38 39# /system and /system_ext boot jars. 40PRODUCT_BOOT_JARS += \ 41 framework-minus-apex \ 42 framework-graphics \ 43 ext \ 44 telephony-common \ 45 voip-common \ 46 ims-common 47 48# Non-updatable APEX jars. Keep the list sorted. 49PRODUCT_BOOT_JARS += \ 50 com.android.i18n:core-icu4j 51 52# Updatable APEX boot jars. Keep the list sorted by module names and then library names. 53PRODUCT_UPDATABLE_BOOT_JARS := \ 54 com.android.appsearch:framework-appsearch \ 55 com.android.conscrypt:conscrypt \ 56 com.android.ipsec:android.net.ipsec.ike \ 57 com.android.media:updatable-media \ 58 com.android.mediaprovider:framework-mediaprovider \ 59 com.android.os.statsd:framework-statsd \ 60 com.android.permission:framework-permission \ 61 com.android.permission:framework-permission-s \ 62 com.android.scheduling:framework-scheduling \ 63 com.android.sdkext:framework-sdkextensions \ 64 com.android.tethering:framework-connectivity \ 65 com.android.tethering:framework-tethering \ 66 com.android.wifi:framework-wifi 67 68# Updatable APEX system server jars. Keep the list sorted by module names and then library names. 69PRODUCT_UPDATABLE_SYSTEM_SERVER_JARS := \ 70 com.android.appsearch:service-appsearch \ 71 com.android.media:service-media-s \ 72 com.android.permission:service-permission \ 73 74# Minimal configuration for running dex2oat (default argument values). 75# PRODUCT_USES_DEFAULT_ART_CONFIG must be true to enable boot image compilation. 76PRODUCT_USES_DEFAULT_ART_CONFIG := true 77PRODUCT_SYSTEM_PROPERTIES += \ 78 dalvik.vm.image-dex2oat-Xms=64m \ 79 dalvik.vm.image-dex2oat-Xmx=64m \ 80 dalvik.vm.dex2oat-Xms=64m \ 81 dalvik.vm.dex2oat-Xmx=512m \ 82