• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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    abx \
20    aconfigd-system \
21    adbd_system_api \
22    aflags \
23    am \
24    android.hidl.base-V1.0-java \
25    android.hidl.manager-V1.0-java \
26    android.system.suspend-service \
27    android.test.base \
28    android.test.mock \
29    android.test.runner \
30    apexd \
31    appops \
32    app_process \
33    appwidget \
34    atrace \
35    audioserver \
36    BackupRestoreConfirmation \
37    bcc \
38    blank_screen \
39    blkid \
40    bmgr \
41    bootanimation \
42    bootstat \
43    boringssl_self_test \
44    bpfloader \
45    bu \
46    bugreport \
47    bugreportz \
48    build_flag_system \
49    cgroups.json \
50    charger \
51    cmd \
52    com.android.adbd \
53    com.android.adservices \
54    com.android.appsearch \
55    com.android.bt \
56    com.android.configinfrastructure \
57    com.android.conscrypt \
58    com.android.devicelock \
59    com.android.extservices \
60    com.android.healthfitness \
61    com.android.i18n \
62    com.android.ipsec \
63    com.android.location.provider \
64    com.android.media \
65    com.android.media.swcodec \
66    com.android.mediaprovider \
67    com.android.ondevicepersonalization \
68    com.android.os.statsd \
69    com.android.permission \
70    com.android.resolv \
71    com.android.rkpd \
72    com.android.neuralnetworks \
73    com.android.scheduling \
74    com.android.sdkext \
75    com.android.tethering \
76    $(RELEASE_PACKAGE_TZDATA_MODULE) \
77    com.android.uwb \
78    com.android.virt \
79    com.android.wifi \
80    ContactsProvider \
81    content \
82    CtsShimPrebuilt \
83    CtsShimPrivPrebuilt \
84    debuggerd\
85    device_config \
86    dmctl \
87    dnsmasq \
88    dmesgd \
89    DownloadProvider \
90    dpm \
91    dump.erofs \
92    dumpstate \
93    dumpsys \
94    E2eeContactKeysProvider \
95    e2fsck \
96    enhanced-confirmation.xml \
97    ExtShared \
98    flags_health_check \
99    framework-graphics \
100    framework-location \
101    framework-minus-apex \
102    framework-minus-apex-install-dependencies \
103    framework-sysconfig.xml \
104    fsck.erofs \
105    fsck_msdos \
106    fsverity-release-cert-der \
107    fs_config_files_system \
108    fs_config_dirs_system \
109    gpu_counter_producer \
110    group_system \
111    gsid \
112    gsi_tool \
113    heapprofd \
114    heapprofd_client \
115    gatekeeperd \
116    gpuservice \
117    hid \
118    idmap2 \
119    idmap2d \
120    ime \
121    ims-common \
122    incident \
123    incidentd \
124    incident_helper \
125    incident-helper-cmd \
126    init.environ.rc \
127    init_system \
128    initial-package-stopped-states.xml \
129    input \
130    installd \
131    IntentResolver \
132    ip \
133    iptables \
134    javax.obex \
135    kcmdlinectrl \
136    keystore2 \
137    credstore \
138    ld.mc \
139    libaaudio \
140    libalarm_jni \
141    libamidi \
142    libandroid \
143    libandroidfw \
144    libandroid_runtime \
145    libandroid_servers \
146    libartpalette-system \
147    libaudioeffect_jni \
148    libbinder \
149    libbinder_ndk \
150    libbinder_rpc_unstable \
151    libc.bootstrap \
152    libcamera2ndk \
153    libcutils \
154    libdl.bootstrap \
155    libdl_android.bootstrap \
156    libdrmframework \
157    libdrmframework_jni \
158    libEGL \
159    libETC1 \
160    libfdtrack \
161    libFFTEm \
162    libfilterfw \
163    libgatekeeper \
164    libGLESv1_CM \
165    libGLESv2 \
166    libGLESv3 \
167    libgui \
168    libhardware \
169    libhardware_legacy \
170    libincident \
171    libinput \
172    libinputflinger \
173    libiprouteutil \
174    libjnigraphics \
175    libjpeg \
176    liblog \
177    libm.bootstrap \
178    libmedia \
179    libmedia_jni \
180    libmediandk \
181    libmonkey_jni \
182    libmtp \
183    libnetd_client \
184    libnetlink \
185    libnetutils \
186    libneuralnetworks_packageinfo \
187    libOpenMAXAL \
188    libOpenSLES \
189    libpdfium \
190    libpower \
191    libpowermanager \
192    libradio_metadata \
193    librtp_jni \
194    libsensorservice \
195    libsfplugin_ccodec \
196    libskia \
197    libsonic \
198    libsonivox \
199    libsoundpool \
200    libspeexresampler \
201    libsqlite \
202    libstagefright \
203    libstagefright_foundation \
204    libstagefright_omx \
205    libstdc++ \
206    libsysutils \
207    libui \
208    libusbhost \
209    libutils \
210    libvintf_jni \
211    libvulkan \
212    libwilhelm \
213    linker \
214    llkd \
215    llndk_libs \
216    lmkd \
217    LocalTransport \
218    locksettings \
219    logcat \
220    logd \
221    lpdump \
222    lshal \
223    mdnsd \
224    mediacodec.policy \
225    mediaextractor \
226    mediametrics \
227    media_profiles_V1_0.dtd \
228    MediaProviderLegacy \
229    mediaserver \
230    mke2fs \
231    mkfs.erofs \
232    monkey \
233    misctrl \
234    mtectrl \
235    ndc \
236    netd \
237    NetworkStack \
238    odsign \
239    org.apache.http.legacy \
240    otacerts \
241    PackageInstaller \
242    package-shareduid-allowlist.xml \
243    passwd_system \
244    pbtombstone \
245    perfetto \
246    perfetto-extras \
247    ping \
248    ping6 \
249    pintool \
250    platform.xml \
251    pm \
252    prefetch \
253    preinstalled-packages-asl-files.xml \
254    preinstalled-packages-platform.xml \
255    preinstalled-packages-strict-signature.xml \
256    privapp-permissions-platform.xml \
257    prng_seeder \
258    recovery-persist \
259    resize2fs \
260    rss_hwm_reset \
261    run-as \
262    sanitizer.libraries.txt \
263    schedtest \
264    screencap \
265    sdcard \
266    secdiscard \
267    SecureElement \
268    selinux_policy_system \
269    sensorservice \
270    service \
271    servicemanager \
272    services \
273    settings \
274    SettingsProvider \
275    sfdo \
276    sgdisk \
277    Shell \
278    shell_and_utilities_system \
279    sm \
280    snapuserd \
281    storaged \
282    surfaceflinger \
283    svc \
284    system-build.prop \
285    task_profiles.json \
286    tc \
287    telecom \
288    telephony-common \
289    tombstoned \
290    traced \
291    traced_probes \
292    tradeinmode \
293    tune2fs \
294    uiautomator \
295    uinput \
296    uncrypt \
297    usbd \
298    vdc \
299    vintf \
300    voip-common \
301    vold \
302    watchdogd \
303    wificond \
304    wifi.rc \
305    wm \
306
307# When we release crashrecovery module
308ifeq ($(RELEASE_CRASHRECOVERY_MODULE),true)
309  PRODUCT_PACKAGES += \
310        com.android.crashrecovery \
311
312else
313  PRODUCT_PACKAGES += \
314    framework-platformcrashrecovery \
315
316endif
317
318# When we release ondeviceintelligence in neuralnetworks module
319ifneq ($(RELEASE_ONDEVICE_INTELLIGENCE_MODULE),true)
320  PRODUCT_PACKAGES += \
321        framework-ondeviceintelligence-platform
322
323endif
324
325
326# When we release uprobestats module
327ifeq ($(RELEASE_UPROBESTATS_MODULE),true)
328    PRODUCT_PACKAGES += \
329        com.android.uprobestats \
330
331else
332    PRODUCT_PACKAGES += \
333        uprobestats \
334        libuprobestats_client \
335
336endif
337
338# These packages are not used on Android TV
339ifneq ($(PRODUCT_IS_ATV),true)
340  PRODUCT_PACKAGES += \
341      $(RELEASE_PACKAGE_SOUND_PICKER) \
342
343endif
344
345# Product does not support Dynamic System Update
346ifneq ($(PRODUCT_NO_DYNAMIC_SYSTEM_UPDATE),true)
347    PRODUCT_PACKAGES += \
348        DynamicSystemInstallationService \
349
350endif
351
352# Check if the build supports NFC apex or not
353ifeq ($(RELEASE_PACKAGE_NFC_STACK),NfcNci)
354    PRODUCT_PACKAGES += \
355        framework-nfc \
356        NfcNci
357else
358    PRODUCT_PACKAGES += \
359        com.android.nfcservices
360endif
361
362# Check if the build supports Profiling module
363ifeq ($(RELEASE_PACKAGE_PROFILING_MODULE),true)
364    PRODUCT_PACKAGES += \
365       com.android.profiling
366endif
367
368ifeq ($(RELEASE_USE_WEBVIEW_BOOTSTRAP_MODULE),true)
369    PRODUCT_PACKAGES += \
370        com.android.webview.bootstrap
371endif
372
373# Only add the jar when it is not in the Tethering module. Otherwise,
374# it will be added via com.android.tethering
375ifneq ($(RELEASE_MOVE_VCN_TO_MAINLINE),true)
376    PRODUCT_PACKAGES += \
377        framework-connectivity-b
378endif
379
380ifneq (,$(RELEASE_RANGING_STACK))
381    PRODUCT_PACKAGES += \
382        com.android.ranging
383endif
384
385ifeq ($(RELEASE_MEMORY_MANAGEMENT_DAEMON),true)
386  PRODUCT_PACKAGES += \
387        mm_daemon
388else
389  PRODUCT_PACKAGES += \
390        init-mmd-prop.rc
391endif
392
393# VINTF data for system image
394PRODUCT_PACKAGES += \
395    system_manifest.xml \
396    system_compatibility_matrix.xml \
397
398# hwservicemanager is now installed on system_ext, but apexes might be using
399# old libraries that are expecting it to be installed on system. This allows
400# those apexes to continue working. The symlink can be removed once we are sure
401# there are no devices using hwservicemanager (when Android V launching devices
402# are no longer supported for dessert upgrades).
403PRODUCT_PACKAGES += \
404    hwservicemanager_compat_symlink_module \
405
406PRODUCT_PACKAGES_ARM64 := libclang_rt.hwasan \
407 libclang_rt.hwasan.bootstrap \
408 libc_hwasan \
409
410# Jacoco agent JARS to be built and installed, if any.
411ifeq ($(EMMA_INSTRUMENT),true)
412  ifneq ($(EMMA_INSTRUMENT_STATIC),true)
413    # For instrumented build, if Jacoco is not being included statically
414    # in instrumented packages then include Jacoco classes in the product
415    # packages.
416    PRODUCT_PACKAGES += jacocoagent
417    ifneq ($(EMMA_INSTRUMENT_FRAMEWORK),true)
418      # For instrumented build, if Jacoco is not being included statically
419      # in instrumented packages and has not already been included in the
420      # bootclasspath via ART_APEX_JARS then include Jacoco classes into the
421      # bootclasspath.
422      PRODUCT_BOOT_JARS += jacocoagent
423    endif # EMMA_INSTRUMENT_FRAMEWORK
424  endif # EMMA_INSTRUMENT_STATIC
425endif # EMMA_INSTRUMENT
426
427ifeq (,$(DISABLE_WALLPAPER_BACKUP))
428  PRODUCT_PACKAGES += \
429    WallpaperBackup
430endif
431
432PRODUCT_PACKAGES += \
433    libEGL_angle \
434    libGLESv1_CM_angle \
435    libGLESv2_angle
436
437# For testing purposes
438ifeq ($(FORCE_AUDIO_SILENT), true)
439    PRODUCT_SYSTEM_PROPERTIES += ro.audio.silent=1
440endif
441
442# Host tools to install
443PRODUCT_HOST_PACKAGES += \
444    BugReport \
445    adb \
446    adevice \
447    atest \
448    bcc \
449    bit \
450    dump.erofs \
451    e2fsck \
452    fastboot \
453    flags_health_check \
454    fsck.erofs \
455    icu-data_host_i18n_apex \
456    tzdata_icu_res_files_host_prebuilts \
457    idmap2 \
458    incident_report \
459    ld.mc \
460    lpdump \
461    mke2fs \
462    mkfs.erofs \
463    pbtombstone \
464    resize2fs \
465    sgdisk \
466    sqlite3 \
467    tinyplay \
468    tune2fs \
469    unwind_info \
470    unwind_reg_info \
471    unwind_symbols \
472    tzdata_host \
473    tzdata_host_tzdata_apex \
474    tzlookup.xml_host_tzdata_apex \
475    tz_version_host \
476    tz_version_host_tzdata_apex \
477
478# For art-tools, if the dependencies have changed, please sync them to art/Android.bp as well.
479PRODUCT_HOST_PACKAGES += \
480    ahat \
481    dexdump \
482    hprof-conv
483# A subset of the tools are disabled when HOST_PREFER_32_BIT is defined as make reports that
484# they are not supported on host (b/129323791). This is likely due to art_apex disabling host
485# APEX builds when HOST_PREFER_32_BIT is set (b/120617876).
486ifneq ($(HOST_PREFER_32_BIT),true)
487PRODUCT_HOST_PACKAGES += \
488    dexlist \
489    oatdump
490endif
491
492
493PRODUCT_PACKAGES += init.usb.rc init.usb.configfs.rc
494
495PRODUCT_PACKAGES += etc_hosts
496
497PRODUCT_PACKAGES += init.zygote32.rc
498PRODUCT_VENDOR_PROPERTIES += ro.zygote?=zygote32
499
500PRODUCT_SYSTEM_PROPERTIES += debug.atrace.tags.enableflags=0
501PRODUCT_SYSTEM_PROPERTIES += persist.traced.enable=1
502PRODUCT_SYSTEM_PROPERTIES += ro.surface_flinger.game_default_frame_rate_override=60
503
504# Include kernel configs.
505PRODUCT_PACKAGES += \
506    approved-ogki-builds.xml \
507    kernel-lifetimes.xml
508
509# Packages included only for eng or userdebug builds, previously debug tagged
510PRODUCT_PACKAGES_DEBUG := \
511    adevice_fingerprint \
512    arping \
513    dmuserd \
514    evemu-record \
515    idlcli \
516    init-debug.rc \
517    iotop \
518    iperf3 \
519    iw \
520    layertracegenerator \
521    libclang_rt.ubsan_standalone \
522    logpersist.start \
523    logtagd.rc \
524    ot-cli-ftd \
525    ot-ctl \
526    overlay_remounter \
527    procrank \
528    profcollectd \
529    profcollectctl \
530    record_binder \
531    servicedispatcher \
532    showmap \
533    snapshotctl \
534    sqlite3 \
535    ss \
536    start_with_lockagent \
537    strace \
538    su \
539    sanitizer-status \
540    tracepath \
541    tracepath6 \
542    traceroute6 \
543    unwind_info \
544    unwind_reg_info \
545    unwind_symbols \
546
547# The set of packages whose code can be loaded by the system server.
548PRODUCT_SYSTEM_SERVER_APPS += \
549    SettingsProvider \
550
551ifeq (,$(DISABLE_WALLPAPER_BACKUP))
552  PRODUCT_SYSTEM_SERVER_APPS += \
553    WallpaperBackup
554endif
555
556PRODUCT_PACKAGES_DEBUG_JAVA_COVERAGE := \
557    libdumpcoverage
558
559PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
560    frameworks/base/config/preloaded-classes:system/etc/preloaded-classes)
561
562# Enable dirty image object binning to reduce dirty pages in the image.
563PRODUCT_PACKAGES += dirty-image-objects
564
565# Enable go/perfetto-persistent-tracing for eng builds
566ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
567    PRODUCT_PRODUCT_PROPERTIES += persist.debug.perfetto.persistent_sysui_tracing_for_bugreport=1
568endif
569
570$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk)
571
572# Ensure all trunk-stable flags are available.
573$(call inherit-product, $(SRC_TARGET_DIR)/product/build_variables.mk)
574
575# Use "image" APEXes always.
576$(call inherit-product,$(SRC_TARGET_DIR)/product/updatable_apex.mk)
577
578$(call soong_config_set, bionic, large_system_property_node, $(RELEASE_LARGE_SYSTEM_PROPERTY_NODE))
579$(call soong_config_set, Aconfig, read_from_new_storage, $(RELEASE_READ_FROM_NEW_STORAGE))
580$(call soong_config_set, SettingsLib, legacy_avatar_picker_app_enabled, $(if $(RELEASE_AVATAR_PICKER_APP),,true))
581$(call soong_config_set, appsearch, enable_isolated_storage, $(RELEASE_APPSEARCH_ENABLE_ISOLATED_STORAGE))
582
583# Enable AppSearch Isolated Storage per BUILD flag
584PRODUCT_PRODUCT_PROPERTIES += ro.appsearch.feature.enable_isolated_storage=$(RELEASE_APPSEARCH_ENABLE_ISOLATED_STORAGE)
585