1#
2# Copyright (C) 2018 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# Base modules and settings for the system partition.
18PRODUCT_PACKAGES += \
19    adbd_system_api \
20    am \
21    android.hidl.allocator@1.0-service \
22    android.hidl.base-V1.0-java \
23    android.hidl.manager-V1.0-java \
24    android.hidl.memory@1.0-impl \
25    android.hidl.memory@1.0-impl.vendor \
26    android.system.suspend@1.0-service \
27    android.test.base \
28    android.test.mock \
29    android.test.runner \
30    ANGLE \
31    apexd \
32    appops \
33    app_process \
34    appwidget \
35    atrace \
36    audioserver \
37    BackupRestoreConfirmation \
38    bcc \
39    blank_screen \
40    blkid \
41    bmgr \
42    bootanimation \
43    bootstat \
44    boringssl_self_test \
45    bpfloader \
46    bu \
47    bugreport \
48    bugreportz \
49    cgroups.json \
50    charger \
51    cmd \
52    com.android.adbd \
53    com.android.apex.cts.shim.v1 \
54    com.android.conscrypt \
55    com.android.cronet \
56    com.android.i18n \
57    com.android.ipsec \
58    com.android.location.provider \
59    com.android.media \
60    com.android.media.swcodec \
61    com.android.resolv \
62    com.android.neuralnetworks \
63    com.android.sdkext \
64    com.android.tethering \
65    com.android.tzdata \
66    ContactsProvider \
67    content \
68    debuggerd\
69    device_config \
70    dmctl \
71    dnsmasq \
72    DownloadProvider \
73    dpm \
74    dumpstate \
75    dumpsys \
76    DynamicSystemInstallationService \
77    e2fsck \
78    ExtServices \
79    ExtShared \
80    flags_health_check \
81    framework-minus-apex \
82    framework-res \
83    framework-sysconfig.xml \
84    fsck_msdos \
85    fsverity-release-cert-der \
86    fs_config_files_system \
87    fs_config_dirs_system \
88    group_system \
89    gsid \
90    gsi_tool \
91    heapprofd \
92    heapprofd_client \
93    gatekeeperd \
94    gpuservice \
95    hid \
96    hwservicemanager \
97    idmap \
98    idmap2 \
99    idmap2d \
100    ime \
101    ims-common \
102    incident \
103    incidentd \
104    incident_helper \
105    init.environ.rc \
106    init_system \
107    input \
108    installd \
109    iorapd \
110    ip \
111    iptables \
112    ip-up-vpn \
113    javax.obex \
114    keystore \
115    ld.mc \
116    libaaudio \
117    libamidi \
118    libandroid \
119    libandroidfw \
120    libandroid_runtime \
121    libandroid_servers \
122    libartpalette-system \
123    libaudioeffect_jni \
124    libbinder \
125    libbinder_ndk \
126    libc.bootstrap \
127    libcamera2ndk \
128    libcutils \
129    libdl.bootstrap \
130    libdl_android.bootstrap \
131    libdrmframework \
132    libdrmframework_jni \
133    libEGL \
134    libETC1 \
135    libfdtrack \
136    libFFTEm \
137    libfilterfw \
138    libgatekeeper \
139    libGLESv1_CM \
140    libGLESv2 \
141    libGLESv3 \
142    libgui \
143    libhardware \
144    libhardware_legacy \
145    libinput \
146    libinputflinger \
147    libiprouteutil \
148    libjnigraphics \
149    libjpeg \
150    liblog \
151    libm.bootstrap \
152    libmdnssd \
153    libmedia \
154    libmedia_jni \
155    libmediandk \
156    libmtp \
157    libnetd_client \
158    libnetlink \
159    libnetutils \
160    libneuralnetworks_packageinfo \
161    libOpenMAXAL \
162    libOpenSLES \
163    libpdfium \
164    libpixelflinger \
165    libpower \
166    libpowermanager \
167    libradio_metadata \
168    librtp_jni \
169    libsensorservice \
170    libsfplugin_ccodec \
171    libskia \
172    libsonic \
173    libsonivox \
174    libsoundpool \
175    libspeexresampler \
176    libsqlite \
177    libstagefright \
178    libstagefright_foundation \
179    libstagefright_omx \
180    libstdc++ \
181    libsurfaceflinger \
182    libsysutils \
183    libui \
184    libusbhost \
185    libutils \
186    libvulkan \
187    libwifi-service \
188    libwilhelm \
189    linker \
190    linkerconfig \
191    lmkd \
192    LocalTransport \
193    locksettings \
194    logcat \
195    logd \
196    lpdump \
197    lshal \
198    mdnsd \
199    media \
200    mediacodec.policy \
201    mediadrmserver \
202    mediaextractor \
203    mediametrics \
204    media_profiles_V1_0.dtd \
205    MediaProvider \
206    mediaserver \
207    mke2fs \
208    monkey \
209    mtpd \
210    ndc \
211    netd \
212    NetworkStackNext \
213    org.apache.http.legacy \
214    otacerts \
215    PackageInstaller \
216    passwd_system \
217    perfetto \
218    PermissionController \
219    ping \
220    ping6 \
221    platform.xml \
222    pm \
223    pppd \
224    privapp-permissions-platform.xml \
225    racoon \
226    recovery-persist \
227    resize2fs \
228    rss_hwm_reset \
229    run-as \
230    sanitizer.libraries.txt \
231    schedtest \
232    screencap \
233    sdcard \
234    secdiscard \
235    SecureElement \
236    selinux_policy_system \
237    sensorservice \
238    service \
239    servicemanager \
240    services \
241    settings \
242    SettingsProvider \
243    sgdisk \
244    Shell \
245    shell_and_utilities_system \
246    sm \
247    snapshotctl \
248    statsd \
249    storaged \
250    surfaceflinger \
251    svc \
252    task_profiles.json \
253    tc \
254    telecom \
255    telephony-common \
256    tombstoned \
257    traced \
258    traced_probes \
259    tune2fs \
260    tzdatacheck \
261    uiautomator \
262    uncrypt \
263    usbd \
264    vdc \
265    viewcompiler \
266    voip-common \
267    vold \
268    WallpaperBackup \
269    watchdogd \
270    wificond \
271    wifi-service \
272    wm \
273
274# VINTF data for system image
275PRODUCT_PACKAGES += \
276    system_manifest.xml \
277    system_compatibility_matrix.xml \
278
279# Host tools to install
280PRODUCT_HOST_PACKAGES += \
281    BugReport \
282    adb \
283    art-tools \
284    atest \
285    bcc \
286    bit \
287    e2fsck \
288    fastboot \
289    flags_health_check \
290    icu-data_host_i18n_apex \
291    icu_tzdata.dat_host_tzdata_apex \
292    idmap2 \
293    incident_report \
294    ld.mc \
295    lpdump \
296    mdnsd \
297    minigzip \
298    mke2fs \
299    resize2fs \
300    sgdisk \
301    sqlite3 \
302    tinyplay \
303    tune2fs \
304    tzdatacheck \
305    unwind_info \
306    unwind_reg_info \
307    unwind_symbols \
308    viewcompiler \
309    tzdata_host \
310    tzdata_host_tzdata_apex \
311    tzlookup.xml_host_tzdata_apex \
312    tz_version_host \
313    tz_version_host_tzdata_apex \
314
315ifeq ($(ART_APEX_JARS),)
316$(error ART_APEX_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable)
317endif
318
319# The order matters for runtime class lookup performance.
320PRODUCT_BOOT_JARS := \
321    $(ART_APEX_JARS) \
322    framework-minus-apex \
323    ext \
324    com.android.i18n:core-icu4j \
325    telephony-common \
326    voip-common \
327    ims-common \
328
329PRODUCT_UPDATABLE_BOOT_JARS := \
330    com.android.conscrypt:conscrypt \
331    com.android.media:updatable-media \
332    com.android.sdkext:framework-sdkextensions \
333    com.android.tethering:framework-tethering
334
335PRODUCT_COPY_FILES += \
336    system/core/rootdir/init.usb.rc:system/etc/init/hw/init.usb.rc \
337    system/core/rootdir/init.usb.configfs.rc:system/etc/init/hw/init.usb.configfs.rc \
338    system/core/rootdir/etc/hosts:system/etc/hosts
339
340# Add the compatibility library that is needed when android.test.base
341# is removed from the bootclasspath.
342# Default to excluding android.test.base from the bootclasspath.
343ifneq ($(REMOVE_ATB_FROM_BCP),false)
344PRODUCT_PACKAGES += framework-atb-backward-compatibility
345PRODUCT_BOOT_JARS += framework-atb-backward-compatibility
346else
347PRODUCT_BOOT_JARS += android.test.base
348endif
349
350PRODUCT_COPY_FILES += system/core/rootdir/init.zygote32.rc:system/etc/init/hw/init.zygote32.rc
351PRODUCT_SYSTEM_PROPERTIES += ro.zygote?=zygote32
352
353PRODUCT_SYSTEM_PROPERTIES += debug.atrace.tags.enableflags=0
354
355# Packages included only for eng or userdebug builds, previously debug tagged
356PRODUCT_PACKAGES_DEBUG := \
357    adb_keys \
358    arping \
359    gdbserver \
360    idlcli \
361    init-debug.rc \
362    iotop \
363    iperf3 \
364    iw \
365    logpersist.start \
366    logtagd.rc \
367    procrank \
368    remount \
369    showmap \
370    sqlite3 \
371    ss \
372    start_with_lockagent \
373    strace \
374    su \
375    sanitizer-status \
376    tracepath \
377    tracepath6 \
378    traceroute6 \
379    unwind_info \
380    unwind_reg_info \
381    unwind_symbols \
382
383# The set of packages whose code can be loaded by the system server.
384PRODUCT_SYSTEM_SERVER_APPS += \
385    SettingsProvider \
386    WallpaperBackup
387
388# Packages included only for eng/userdebug builds, when building with SANITIZE_TARGET=address
389PRODUCT_PACKAGES_DEBUG_ASAN := \
390    fuzz \
391    honggfuzz
392
393PRODUCT_PACKAGES_DEBUG_JAVA_COVERAGE := \
394    libdumpcoverage
395
396PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
397    frameworks/base/config/preloaded-classes:system/etc/preloaded-classes)
398
399# Note: it is acceptable to not have a dirty-image-objects file. In that case, the special bin
400#       for known dirty objects in the image will be empty.
401PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
402    frameworks/base/config/dirty-image-objects:system/etc/dirty-image-objects)
403
404$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk)
405