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 \ 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.btservices \ 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 libmtp \ 182 libnetd_client \ 183 libnetlink \ 184 libnetutils \ 185 libneuralnetworks_packageinfo \ 186 libOpenMAXAL \ 187 libOpenSLES \ 188 libpdfium \ 189 libpower \ 190 libpowermanager \ 191 libradio_metadata \ 192 librtp_jni \ 193 libsensorservice \ 194 libsfplugin_ccodec \ 195 libskia \ 196 libsonic \ 197 libsonivox \ 198 libsoundpool \ 199 libspeexresampler \ 200 libsqlite \ 201 libstagefright \ 202 libstagefright_foundation \ 203 libstagefright_omx \ 204 libstdc++ \ 205 libsysutils \ 206 libui \ 207 libusbhost \ 208 libutils \ 209 libvintf_jni \ 210 libvulkan \ 211 libwilhelm \ 212 linker \ 213 llkd \ 214 lmkd \ 215 LocalTransport \ 216 locksettings \ 217 logcat \ 218 logd \ 219 lpdump \ 220 lshal \ 221 mdnsd \ 222 mediacodec.policy \ 223 mediaextractor \ 224 mediametrics \ 225 media_profiles_V1_0.dtd \ 226 MediaProviderLegacy \ 227 mediaserver \ 228 mke2fs \ 229 mkfs.erofs \ 230 monkey \ 231 misctrl \ 232 mtectrl \ 233 ndc \ 234 netd \ 235 NetworkStack \ 236 odsign \ 237 org.apache.http.legacy \ 238 otacerts \ 239 PackageInstaller \ 240 package-shareduid-allowlist.xml \ 241 passwd_system \ 242 perfetto \ 243 perfetto-extras \ 244 ping \ 245 ping6 \ 246 pintool \ 247 platform.xml \ 248 pm \ 249 preinstalled-packages-asl-files.xml \ 250 preinstalled-packages-platform.xml \ 251 preinstalled-packages-strict-signature.xml \ 252 printflags \ 253 privapp-permissions-platform.xml \ 254 prng_seeder \ 255 recovery-persist \ 256 resize2fs \ 257 rss_hwm_reset \ 258 run-as \ 259 sanitizer.libraries.txt \ 260 schedtest \ 261 screencap \ 262 sdcard \ 263 secdiscard \ 264 SecureElement \ 265 selinux_policy_system \ 266 sensorservice \ 267 service \ 268 servicemanager \ 269 services \ 270 settings \ 271 SettingsProvider \ 272 sfdo \ 273 sgdisk \ 274 Shell \ 275 shell_and_utilities_system \ 276 sm \ 277 snapshotctl \ 278 snapuserd \ 279 storaged \ 280 surfaceflinger \ 281 svc \ 282 task_profiles.json \ 283 tc \ 284 telecom \ 285 telephony-common \ 286 tombstoned \ 287 traced \ 288 traced_probes \ 289 tune2fs \ 290 uiautomator \ 291 uinput \ 292 uncrypt \ 293 uprobestats \ 294 usbd \ 295 vdc \ 296 vintf \ 297 voip-common \ 298 vold \ 299 watchdogd \ 300 wificond \ 301 wifi.rc \ 302 wm \ 303 304# When we release crashrecovery module 305ifeq ($(RELEASE_CRASHRECOVERY_MODULE),true) 306 PRODUCT_PACKAGES += \ 307 com.android.crashrecovery \ 308 309endif 310 311# These packages are not used on Android TV 312ifneq ($(PRODUCT_IS_ATV),true) 313 PRODUCT_PACKAGES += \ 314 $(RELEASE_PACKAGE_SOUND_PICKER) \ 315 316endif 317 318# Product does not support Dynamic System Update 319ifneq ($(PRODUCT_NO_DYNAMIC_SYSTEM_UPDATE),true) 320 PRODUCT_PACKAGES += \ 321 DynamicSystemInstallationService \ 322 323endif 324 325# Check if the build supports NFC apex or not 326ifeq ($(RELEASE_PACKAGE_NFC_STACK),NfcNci) 327 PRODUCT_PACKAGES += \ 328 framework-nfc \ 329 NfcNci 330else 331 PRODUCT_PACKAGES += \ 332 com.android.nfcservices 333endif 334 335# Check if the build supports Profiling module 336ifeq ($(RELEASE_PACKAGE_PROFILING_MODULE),true) 337 PRODUCT_PACKAGES += \ 338 com.android.profiling \ 339 trace_redactor 340endif 341 342ifeq ($(RELEASE_USE_WEBVIEW_BOOTSTRAP_MODULE),true) 343 PRODUCT_PACKAGES += \ 344 com.android.webview.bootstrap 345endif 346 347# VINTF data for system image 348PRODUCT_PACKAGES += \ 349 system_manifest.xml \ 350 system_compatibility_matrix.xml \ 351 352# Base modules when shipping api level is less than or equal to 34 353PRODUCT_PACKAGES_SHIPPING_API_LEVEL_34 += \ 354 android.hidl.memory@1.0-impl \ 355 356# hwservicemanager is now installed on system_ext, but apexes might be using 357# old libraries that are expecting it to be installed on system. This allows 358# those apexes to continue working. The symlink can be removed once we are sure 359# there are no devices using hwservicemanager (when Android V launching devices 360# are no longer supported for dessert upgrades). 361PRODUCT_PACKAGES += \ 362 hwservicemanager_compat_symlink_module \ 363 364PRODUCT_PACKAGES_ARM64 := libclang_rt.hwasan \ 365 libclang_rt.hwasan.bootstrap \ 366 libc_hwasan \ 367 368# Jacoco agent JARS to be built and installed, if any. 369ifeq ($(EMMA_INSTRUMENT),true) 370 ifneq ($(EMMA_INSTRUMENT_STATIC),true) 371 # For instrumented build, if Jacoco is not being included statically 372 # in instrumented packages then include Jacoco classes in the product 373 # packages. 374 PRODUCT_PACKAGES += jacocoagent 375 ifneq ($(EMMA_INSTRUMENT_FRAMEWORK),true) 376 # For instrumented build, if Jacoco is not being included statically 377 # in instrumented packages and has not already been included in the 378 # bootclasspath via ART_APEX_JARS then include Jacoco classes into the 379 # bootclasspath. 380 PRODUCT_BOOT_JARS += jacocoagent 381 endif # EMMA_INSTRUMENT_FRAMEWORK 382 endif # EMMA_INSTRUMENT_STATIC 383endif # EMMA_INSTRUMENT 384 385ifeq (,$(DISABLE_WALLPAPER_BACKUP)) 386 PRODUCT_PACKAGES += \ 387 WallpaperBackup 388endif 389 390PRODUCT_PACKAGES += \ 391 libEGL_angle \ 392 libGLESv1_CM_angle \ 393 libGLESv2_angle 394 395# For testing purposes 396ifeq ($(FORCE_AUDIO_SILENT), true) 397 PRODUCT_SYSTEM_PROPERTIES += ro.audio.silent=1 398endif 399 400# Host tools to install 401PRODUCT_HOST_PACKAGES += \ 402 BugReport \ 403 adb \ 404 adevice \ 405 art-tools \ 406 atest \ 407 bcc \ 408 bit \ 409 dump.erofs \ 410 e2fsck \ 411 fastboot \ 412 flags_health_check \ 413 fsck.erofs \ 414 icu-data_host_i18n_apex \ 415 icu_tzdata.dat_host_tzdata_apex \ 416 idmap2 \ 417 incident_report \ 418 ld.mc \ 419 lpdump \ 420 mke2fs \ 421 mkfs.erofs \ 422 resize2fs \ 423 sgdisk \ 424 sqlite3 \ 425 tinyplay \ 426 tune2fs \ 427 unwind_info \ 428 unwind_reg_info \ 429 unwind_symbols \ 430 tzdata_host \ 431 tzdata_host_tzdata_apex \ 432 tzlookup.xml_host_tzdata_apex \ 433 tz_version_host \ 434 tz_version_host_tzdata_apex \ 435 436PRODUCT_PACKAGES += init.usb.rc init.usb.configfs.rc 437 438PRODUCT_PACKAGES += etc_hosts 439 440PRODUCT_PACKAGES += init.zygote32.rc 441PRODUCT_VENDOR_PROPERTIES += ro.zygote?=zygote32 442 443PRODUCT_SYSTEM_PROPERTIES += debug.atrace.tags.enableflags=0 444PRODUCT_SYSTEM_PROPERTIES += persist.traced.enable=1 445 446# Packages included only for eng or userdebug builds, previously debug tagged 447PRODUCT_PACKAGES_DEBUG := \ 448 adb_keys \ 449 adevice_fingerprint \ 450 arping \ 451 dmuserd \ 452 evemu-record \ 453 idlcli \ 454 init-debug.rc \ 455 iotop \ 456 iperf3 \ 457 iw \ 458 layertracegenerator \ 459 libclang_rt.ubsan_standalone \ 460 logpersist.start \ 461 logtagd.rc \ 462 ot-cli-ftd \ 463 ot-ctl \ 464 procrank \ 465 profcollectd \ 466 profcollectctl \ 467 record_binder \ 468 servicedispatcher \ 469 showmap \ 470 sqlite3 \ 471 ss \ 472 start_with_lockagent \ 473 strace \ 474 su \ 475 sanitizer-status \ 476 tracepath \ 477 tracepath6 \ 478 traceroute6 \ 479 unwind_info \ 480 unwind_reg_info \ 481 unwind_symbols \ 482 483# The set of packages whose code can be loaded by the system server. 484PRODUCT_SYSTEM_SERVER_APPS += \ 485 SettingsProvider \ 486 487ifeq (,$(DISABLE_WALLPAPER_BACKUP)) 488 PRODUCT_SYSTEM_SERVER_APPS += \ 489 WallpaperBackup 490endif 491 492PRODUCT_PACKAGES_DEBUG_JAVA_COVERAGE := \ 493 libdumpcoverage 494 495PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ 496 frameworks/base/config/preloaded-classes:system/etc/preloaded-classes) 497 498# Enable dirty image object binning to reduce dirty pages in the image. 499PRODUCT_PACKAGES += dirty-image-objects 500 501# Enable go/perfetto-persistent-tracing for eng builds 502ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT))) 503 PRODUCT_PRODUCT_PROPERTIES += persist.debug.perfetto.persistent_sysui_tracing_for_bugreport=1 504endif 505 506$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk) 507 508# Ensure all trunk-stable flags are available. 509$(call inherit-product, $(SRC_TARGET_DIR)/product/build_variables.mk) 510 511# Use "image" APEXes always. 512$(call inherit-product,$(SRC_TARGET_DIR)/product/updatable_apex.mk) 513 514$(call soong_config_set, bionic, large_system_property_node, $(RELEASE_LARGE_SYSTEM_PROPERTY_NODE)) 515$(call soong_config_set, SettingsLib, legacy_avatar_picker_app_enabled, $(if $(RELEASE_AVATAR_PICKER_APP),,true)) 516