1#
2# Copyright (C) 2013 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# Provides a functioning ART environment without Android frameworks
18
19# Additional mixins to the boot classpath.
20PRODUCT_PACKAGES += \
21    android.test.base \
22
23# Why are we pulling in ext, which is frameworks/base, depending on tagsoup and nist-sip?
24PRODUCT_PACKAGES += \
25    ext \
26
27# Runtime (Bionic) APEX module.
28PRODUCT_PACKAGES += com.android.runtime
29
30# ART APEX module.
31# Note that this package includes the minimal boot classpath JARs (listed in
32# ART_APEX_JARS), which should no longer be added directly to PRODUCT_PACKAGES.
33PRODUCT_PACKAGES += com.android.art
34PRODUCT_HOST_PACKAGES += com.android.art
35
36# Certificates.
37PRODUCT_PACKAGES += \
38    cacerts \
39
40PRODUCT_PACKAGES += \
41    hiddenapi-package-whitelist.xml \
42
43PRODUCT_SYSTEM_PROPERTIES += \
44    dalvik.vm.image-dex2oat-Xms=64m \
45    dalvik.vm.image-dex2oat-Xmx=64m \
46    dalvik.vm.dex2oat-Xms=64m \
47    dalvik.vm.dex2oat-Xmx=512m \
48    dalvik.vm.usejit=true \
49    dalvik.vm.usejitprofiles=true \
50    dalvik.vm.dexopt.secondary=true \
51    dalvik.vm.appimageformat=lz4
52
53PRODUCT_SYSTEM_PROPERTIES += \
54    ro.dalvik.vm.native.bridge=0
55
56# Different dexopt types for different package update/install times.
57# On eng builds, make "boot" reasons only extract for faster turnaround.
58ifeq (eng,$(TARGET_BUILD_VARIANT))
59    PRODUCT_SYSTEM_PROPERTIES += \
60        pm.dexopt.first-boot?=extract \
61        pm.dexopt.boot?=extract
62else
63    PRODUCT_SYSTEM_PROPERTIES += \
64        pm.dexopt.first-boot?=quicken \
65        pm.dexopt.boot?=verify
66endif
67
68# The install filter is speed-profile in order to enable the use of
69# profiles from the dex metadata files. Note that if a profile is not provided
70# or if it is empty speed-profile is equivalent to (quicken + empty app image).
71PRODUCT_SYSTEM_PROPERTIES += \
72    pm.dexopt.install?=speed-profile \
73    pm.dexopt.bg-dexopt?=speed-profile \
74    pm.dexopt.ab-ota?=speed-profile \
75    pm.dexopt.inactive?=verify \
76    pm.dexopt.shared?=speed
77
78# Pass file with the list of updatable boot class path packages to dex2oat.
79PRODUCT_SYSTEM_PROPERTIES += \
80    dalvik.vm.dex2oat-updatable-bcp-packages-file=/system/etc/updatable-bcp-packages.txt
81
82# Enable resolution of startup const strings.
83PRODUCT_SYSTEM_PROPERTIES += \
84    dalvik.vm.dex2oat-resolve-startup-strings=true
85
86# Specify default block size of 512K to enable parallel image decompression.
87PRODUCT_SYSTEM_PROPERTIES += \
88    dalvik.vm.dex2oat-max-image-block-size=524288
89
90# Enable minidebuginfo generation unless overridden.
91PRODUCT_SYSTEM_PROPERTIES += \
92    dalvik.vm.minidebuginfo=true \
93    dalvik.vm.dex2oat-minidebuginfo=true
94
95# Disable iorapd by default
96PRODUCT_SYSTEM_PROPERTIES += \
97    ro.iorapd.enable=false
98
99PRODUCT_USES_DEFAULT_ART_CONFIG := true
100