1generic_rootdirs = [ 2 "apex", 3 "bootstrap-apex", 4 "config", 5 "data", 6 "data_mirror", 7 "debug_ramdisk", 8 "dev", 9 "linkerconfig", 10 "metadata", 11 "mnt", 12 "odm", 13 "odm_dlkm", 14 "oem", 15 "postinstall", 16 "proc", 17 "second_stage_resources", 18 "storage", 19 "sys", 20 "system", 21 "system_dlkm", 22 "tmp", 23 "vendor", 24 "vendor_dlkm", 25] 26 27android_rootdirs = [ 28 "system_ext", 29 "product", 30] 31 32generic_symlinks = [ 33 { 34 target: "/system/bin/init", 35 name: "init", 36 }, 37 { 38 target: "/system/etc", 39 name: "etc", 40 }, 41 { 42 target: "/system/bin", 43 name: "bin", 44 }, 45 { 46 target: "/vendor", 47 name: "system/vendor", 48 }, 49 { 50 target: "/system_dlkm/lib/modules", 51 name: "system/lib/modules", 52 }, 53 { 54 target: "/data/user_de/0/com.android.shell/files/bugreports", 55 name: "bugreports", 56 }, 57 { 58 target: "/sys/kernel/debug", 59 name: "d", 60 }, 61 { 62 target: "/storage/self/primary", 63 name: "sdcard", 64 }, 65 { 66 target: "/product/etc/security/adb_keys", 67 name: "adb_keys", 68 }, 69 // For Treble Generic System Image (GSI), system-as-root GSI needs to work on both devices with 70 // and without /odm partition. Those symlinks are for devices without /odm partition. For 71 // devices with /odm partition, mount odm.img under /odm will hide those symlinks. 72 { 73 target: "/vendor/odm/app", 74 name: "odm/app", 75 }, 76 { 77 target: "/vendor/odm/bin", 78 name: "odm/bin", 79 }, 80 { 81 target: "/vendor/odm/etc", 82 name: "odm/etc", 83 }, 84 { 85 target: "/vendor/odm/firmware", 86 name: "odm/firmware", 87 }, 88 { 89 target: "/vendor/odm/framework", 90 name: "odm/framework", 91 }, 92 { 93 target: "/vendor/odm/lib", 94 name: "odm/lib", 95 }, 96 { 97 target: "/vendor/odm/lib64", 98 name: "odm/lib64", 99 }, 100 { 101 target: "/vendor/odm/overlay", 102 name: "odm/overlay", 103 }, 104 { 105 target: "/vendor/odm/priv-app", 106 name: "odm/priv-app", 107 }, 108 { 109 target: "/vendor/odm/usr", 110 name: "odm/usr", 111 }, 112] 113 114android_symlinks = [ 115 { 116 target: "/product", 117 name: "system/product", 118 }, 119 { 120 target: "/system_ext", 121 name: "system/system_ext", 122 }, 123 { 124 target: "/data/cache", 125 name: "cache", 126 }, 127 { 128 target: "/odm/odm_dlkm/etc", 129 name: "odm_dlkm/etc", 130 }, 131 { 132 target: "/vendor/vendor_dlkm/etc", 133 name: "vendor_dlkm/etc", 134 }, 135] 136 137extra_vendor_symlinks = [ 138 // Some vendors still haven't cleaned up all device specific directories under root! 139 // TODO(b/111434759, b/111287060) SoC specific hacks 140 { 141 target: "/vendor/lib/dsp", 142 name: "dsp", 143 }, 144 { 145 target: "/mnt/vendor/persist", 146 name: "persist", 147 }, 148 { 149 target: "/vendor/firmware_mnt", 150 name: "firmware", 151 }, 152] 153 154filegroup { 155 name: "generic_system_sign_key", 156 srcs: [":avb_testkey_rsa4096"], 157} 158 159phony { 160 name: "generic_system_fonts", 161 required: [ 162 "AndroidClock.ttf", 163 "CarroisGothicSC-Regular.ttf", 164 "ComingSoon.ttf", 165 "CutiveMono.ttf", 166 "DancingScript-Regular.ttf", 167 "DroidSansMono.ttf", 168 "NotoColorEmoji.ttf", 169 "NotoColorEmojiFlags.ttf", 170 "NotoNaskhArabic-Bold.ttf", 171 "NotoNaskhArabic-Regular.ttf", 172 "NotoNaskhArabicUI-Bold.ttf", 173 "NotoNaskhArabicUI-Regular.ttf", 174 "NotoSansAdlam-VF.ttf", 175 "NotoSansAhom-Regular.otf", 176 "NotoSansAnatolianHieroglyphs-Regular.otf", 177 "NotoSansArmenian-VF.ttf", 178 "NotoSansAvestan-Regular.ttf", 179 "NotoSansBalinese-Regular.ttf", 180 "NotoSansBamum-Regular.ttf", 181 "NotoSansBassaVah-Regular.otf", 182 "NotoSansBatak-Regular.ttf", 183 "NotoSansBengali-VF.ttf", 184 "NotoSansBengaliUI-VF.ttf", 185 "NotoSansBhaiksuki-Regular.otf", 186 "NotoSansBrahmi-Regular.ttf", 187 "NotoSansBuginese-Regular.ttf", 188 "NotoSansBuhid-Regular.ttf", 189 "NotoSansCJK-Regular.ttc", 190 "NotoSansCanadianAboriginal-Regular.ttf", 191 "NotoSansCarian-Regular.ttf", 192 "NotoSansChakma-Regular.otf", 193 "NotoSansCham-Bold.ttf", 194 "NotoSansCham-Regular.ttf", 195 "NotoSansCherokee-Regular.ttf", 196 "NotoSansCoptic-Regular.ttf", 197 "NotoSansCuneiform-Regular.ttf", 198 "NotoSansCypriot-Regular.ttf", 199 "NotoSansDeseret-Regular.ttf", 200 "NotoSansDevanagari-VF.ttf", 201 "NotoSansDevanagariUI-VF.ttf", 202 "NotoSansEgyptianHieroglyphs-Regular.ttf", 203 "NotoSansElbasan-Regular.otf", 204 "NotoSansEthiopic-VF.ttf", 205 "NotoSansGeorgian-VF.ttf", 206 "NotoSansGlagolitic-Regular.ttf", 207 "NotoSansGothic-Regular.ttf", 208 "NotoSansGrantha-Regular.ttf", 209 "NotoSansGujarati-Bold.ttf", 210 "NotoSansGujarati-Regular.ttf", 211 "NotoSansGujaratiUI-Bold.ttf", 212 "NotoSansGujaratiUI-Regular.ttf", 213 "NotoSansGunjalaGondi-Regular.otf", 214 "NotoSansGurmukhi-VF.ttf", 215 "NotoSansGurmukhiUI-VF.ttf", 216 "NotoSansHanifiRohingya-Regular.otf", 217 "NotoSansHanunoo-Regular.ttf", 218 "NotoSansHatran-Regular.otf", 219 "NotoSansHebrew-Bold.ttf", 220 "NotoSansHebrew-Regular.ttf", 221 "NotoSansImperialAramaic-Regular.ttf", 222 "NotoSansInscriptionalPahlavi-Regular.ttf", 223 "NotoSansInscriptionalParthian-Regular.ttf", 224 "NotoSansJavanese-Regular.otf", 225 "NotoSansKaithi-Regular.ttf", 226 "NotoSansKannada-VF.ttf", 227 "NotoSansKannadaUI-VF.ttf", 228 "NotoSansKayahLi-Regular.ttf", 229 "NotoSansKharoshthi-Regular.ttf", 230 "NotoSansKhmer-VF.ttf", 231 "NotoSansKhmerUI-Bold.ttf", 232 "NotoSansKhmerUI-Regular.ttf", 233 "NotoSansKhojki-Regular.otf", 234 "NotoSansLao-Bold.ttf", 235 "NotoSansLao-Regular.ttf", 236 "NotoSansLaoUI-Bold.ttf", 237 "NotoSansLaoUI-Regular.ttf", 238 "NotoSansLepcha-Regular.ttf", 239 "NotoSansLimbu-Regular.ttf", 240 "NotoSansLinearA-Regular.otf", 241 "NotoSansLinearB-Regular.ttf", 242 "NotoSansLisu-Regular.ttf", 243 "NotoSansLycian-Regular.ttf", 244 "NotoSansLydian-Regular.ttf", 245 "NotoSansMalayalam-VF.ttf", 246 "NotoSansMalayalamUI-VF.ttf", 247 "NotoSansMandaic-Regular.ttf", 248 "NotoSansManichaean-Regular.otf", 249 "NotoSansMarchen-Regular.otf", 250 "NotoSansMasaramGondi-Regular.otf", 251 "NotoSansMedefaidrin-VF.ttf", 252 "NotoSansMeeteiMayek-Regular.ttf", 253 "NotoSansMeroitic-Regular.otf", 254 "NotoSansMiao-Regular.otf", 255 "NotoSansModi-Regular.ttf", 256 "NotoSansMongolian-Regular.ttf", 257 "NotoSansMro-Regular.otf", 258 "NotoSansMultani-Regular.otf", 259 "NotoSansMyanmar-Bold.otf", 260 "NotoSansMyanmar-Medium.otf", 261 "NotoSansMyanmar-Regular.otf", 262 "NotoSansMyanmarUI-Bold.otf", 263 "NotoSansMyanmarUI-Medium.otf", 264 "NotoSansMyanmarUI-Regular.otf", 265 "NotoSansNKo-Regular.ttf", 266 "NotoSansNabataean-Regular.otf", 267 "NotoSansNewTaiLue-Regular.ttf", 268 "NotoSansNewa-Regular.otf", 269 "NotoSansOgham-Regular.ttf", 270 "NotoSansOlChiki-Regular.ttf", 271 "NotoSansOldItalic-Regular.ttf", 272 "NotoSansOldNorthArabian-Regular.otf", 273 "NotoSansOldPermic-Regular.otf", 274 "NotoSansOldPersian-Regular.ttf", 275 "NotoSansOldSouthArabian-Regular.ttf", 276 "NotoSansOldTurkic-Regular.ttf", 277 "NotoSansOriya-Bold.ttf", 278 "NotoSansOriya-Regular.ttf", 279 "NotoSansOriyaUI-Bold.ttf", 280 "NotoSansOriyaUI-Regular.ttf", 281 "NotoSansOsage-Regular.ttf", 282 "NotoSansOsmanya-Regular.ttf", 283 "NotoSansPahawhHmong-Regular.otf", 284 "NotoSansPalmyrene-Regular.otf", 285 "NotoSansPauCinHau-Regular.otf", 286 "NotoSansPhagsPa-Regular.ttf", 287 "NotoSansPhoenician-Regular.ttf", 288 "NotoSansRejang-Regular.ttf", 289 "NotoSansRunic-Regular.ttf", 290 "NotoSansSamaritan-Regular.ttf", 291 "NotoSansSaurashtra-Regular.ttf", 292 "NotoSansSharada-Regular.otf", 293 "NotoSansShavian-Regular.ttf", 294 "NotoSansSinhala-VF.ttf", 295 "NotoSansSinhalaUI-VF.ttf", 296 "NotoSansSoraSompeng-Regular.otf", 297 "NotoSansSoyombo-VF.ttf", 298 "NotoSansSundanese-Regular.ttf", 299 "NotoSansSylotiNagri-Regular.ttf", 300 "NotoSansSymbols-Regular-Subsetted.ttf", 301 "NotoSansSymbols-Regular-Subsetted2.ttf", 302 "NotoSansSyriacEastern-Regular.ttf", 303 "NotoSansSyriacEstrangela-Regular.ttf", 304 "NotoSansSyriacWestern-Regular.ttf", 305 "NotoSansTagalog-Regular.ttf", 306 "NotoSansTagbanwa-Regular.ttf", 307 "NotoSansTaiLe-Regular.ttf", 308 "NotoSansTaiTham-Regular.ttf", 309 "NotoSansTaiViet-Regular.ttf", 310 "NotoSansTakri-VF.ttf", 311 "NotoSansTamil-VF.ttf", 312 "NotoSansTamilUI-VF.ttf", 313 "NotoSansTelugu-VF.ttf", 314 "NotoSansTeluguUI-VF.ttf", 315 "NotoSansThaana-Bold.ttf", 316 "NotoSansThaana-Regular.ttf", 317 "NotoSansThai-Bold.ttf", 318 "NotoSansThai-Regular.ttf", 319 "NotoSansThaiUI-Bold.ttf", 320 "NotoSansThaiUI-Regular.ttf", 321 "NotoSansTifinagh-Regular.otf", 322 "NotoSansUgaritic-Regular.ttf", 323 "NotoSansVai-Regular.ttf", 324 "NotoSansWancho-Regular.otf", 325 "NotoSansWarangCiti-Regular.otf", 326 "NotoSansYi-Regular.ttf", 327 "NotoSerif-Bold.ttf", 328 "NotoSerif-BoldItalic.ttf", 329 "NotoSerif-Italic.ttf", 330 "NotoSerif-Regular.ttf", 331 "NotoSerifArmenian-VF.ttf", 332 "NotoSerifBengali-VF.ttf", 333 "NotoSerifCJK-Regular.ttc", 334 "NotoSerifDevanagari-VF.ttf", 335 "NotoSerifDogra-Regular.ttf", 336 "NotoSerifEthiopic-VF.ttf", 337 "NotoSerifGeorgian-VF.ttf", 338 "NotoSerifGujarati-VF.ttf", 339 "NotoSerifGurmukhi-VF.ttf", 340 "NotoSerifHebrew-Bold.ttf", 341 "NotoSerifHebrew-Regular.ttf", 342 "NotoSerifHentaigana.ttf", 343 "NotoSerifKannada-VF.ttf", 344 "NotoSerifKhmer-Bold.otf", 345 "NotoSerifKhmer-Regular.otf", 346 "NotoSerifLao-Bold.ttf", 347 "NotoSerifLao-Regular.ttf", 348 "NotoSerifMalayalam-VF.ttf", 349 "NotoSerifMyanmar-Bold.otf", 350 "NotoSerifMyanmar-Regular.otf", 351 "NotoSerifNyiakengPuachueHmong-VF.ttf", 352 "NotoSerifSinhala-VF.ttf", 353 "NotoSerifTamil-VF.ttf", 354 "NotoSerifTelugu-VF.ttf", 355 "NotoSerifThai-Bold.ttf", 356 "NotoSerifThai-Regular.ttf", 357 "NotoSerifTibetan-VF.ttf", 358 "NotoSerifYezidi-VF.ttf", 359 "Roboto-Regular.ttf", 360 "RobotoFlex-Regular.ttf", 361 "RobotoStatic-Regular.ttf", 362 "SourceSansPro-Bold.ttf", 363 "SourceSansPro-BoldItalic.ttf", 364 "SourceSansPro-Italic.ttf", 365 "SourceSansPro-Regular.ttf", 366 "SourceSansPro-SemiBold.ttf", 367 "SourceSansPro-SemiBoldItalic.ttf", 368 "font_fallback.xml", 369 "fonts.xml", 370 ], 371} 372 373android_filesystem_defaults { 374 name: "system_ext_image_defaults", 375 deps: [ 376 /////////////////////////////////////////// 377 // base_system_ext 378 /////////////////////////////////////////// 379 "build_flag_system_ext", 380 "fs_config_dirs_system_ext", 381 "fs_config_files_system_ext", 382 "group_system_ext", 383 "passwd_system_ext", 384 "SatelliteClient", 385 "selinux_policy_system_ext", 386 "system_ext_manifest.xml", 387 "system_ext-build.prop", 388 // Base modules when shipping api level is less than or equal to 34 389 "hwservicemanager", 390 "android.hidl.allocator@1.0-service", 391 392 /////////////////////////////////////////// 393 // media_system_ext 394 /////////////////////////////////////////// 395 "StatementService", 396 397 /////////////////////////////////////////// 398 // window_extensions_base 399 /////////////////////////////////////////// 400 "androidx.window.extensions", 401 "androidx.window.sidecar", 402 403 /////////////////////////////////////////// 404 // base_system 405 /////////////////////////////////////////// 406 "charger", 407 ] + select(release_flag("RELEASE_APPFUNCTION_SIDECAR"), { 408 true: [ 409 "com.android.extensions.appfunctions", 410 "appfunctions.extension.xml", 411 ], 412 default: [], 413 }), 414} 415 416android_filesystem_defaults { 417 name: "product_image_defaults", 418 deps: [ 419 /////////////////////////////////////////// 420 // media_product 421 /////////////////////////////////////////// 422 "webview", 423 424 /////////////////////////////////////////// 425 // base_product 426 /////////////////////////////////////////// 427 428 // Base modules and settings for the product partition. 429 "build_flag_product", 430 "fs_config_dirs_product", 431 "fs_config_files_product", 432 "group_product", 433 "ModuleMetadata", 434 "passwd_product", 435 "product_compatibility_matrix.xml", 436 "product_manifest.xml", 437 "selinux_policy_product", 438 "product-build.prop", 439 440 // AUDIO 441 "frameworks_sounds", 442 ] + select(product_variable("debuggable"), { 443 // Packages included only for eng or userdebug builds, previously debug tagged 444 true: ["adb_keys"], 445 default: [], 446 }), 447} 448 449system_image_fsverity_default = { 450 inputs: [ 451 "etc/boot-image.prof", 452 "etc/classpaths/*.pb", 453 "etc/dirty-image-objects", 454 "etc/preloaded-classes", 455 "framework/*", 456 "framework/*/*", // framework/{arch} 457 "framework/oat/*/*", // framework/oat/{arch} 458 ], 459 libs: [":framework-res{.export-package.apk}"], 460} 461 462soong_config_module_type { 463 name: "system_image_defaults", 464 module_type: "android_filesystem_defaults", 465 config_namespace: "ANDROID", 466 bool_variables: ["TARGET_ADD_ROOT_EXTRA_VENDOR_SYMLINKS"], 467 properties: ["symlinks"], 468} 469 470genrule { 471 name: "plat_and_vendor_file_contexts", 472 device_common_srcs: [ 473 ":plat_file_contexts", 474 ":vendor_file_contexts", 475 ], 476 out: ["file_contexts"], 477 cmd: "cat $(in) > $(out)", 478} 479 480system_image_defaults { 481 name: "system_image_defaults", 482 partition_name: "system", 483 base_dir: "system", 484 stem: "system.img", 485 no_full_install: true, 486 dirs: generic_rootdirs, 487 soong_config_variables: { 488 TARGET_ADD_ROOT_EXTRA_VENDOR_SYMLINKS: { 489 symlinks: generic_symlinks + extra_vendor_symlinks, 490 conditions_default: { 491 symlinks: generic_symlinks, 492 }, 493 }, 494 }, 495 file_contexts: ":plat_and_vendor_file_contexts", 496 linker_config: { 497 gen_linker_config: true, 498 linker_config_srcs: [":system_linker_config_json_file"], 499 }, 500 fsverity: { 501 inputs: select(soong_config_variable("ANDROID", "PRODUCT_FSVERITY_GENERATE_METADATA"), { 502 true: [ 503 "etc/boot-image.prof", 504 "etc/classpaths/*.pb", 505 "etc/dirty-image-objects", 506 "etc/preloaded-classes", 507 "framework/*", 508 "framework/*/*", // framework/{arch} 509 "framework/oat/*/*", // framework/oat/{arch} 510 ], 511 default: [], 512 }), 513 libs: select(soong_config_variable("ANDROID", "PRODUCT_FSVERITY_GENERATE_METADATA"), { 514 true: [":framework-res{.export-package.apk}"], 515 default: [], 516 }), 517 }, 518 build_logtags: true, 519 gen_aconfig_flags_pb: true, 520 521 compile_multilib: "both", 522 523 use_avb: true, 524 avb_private_key: ":generic_system_sign_key", 525 avb_algorithm: "SHA256_RSA4096", 526 avb_hash_algorithm: "sha256", 527 rollback_index_location: 1, 528 529 deps: [ 530 "abx", 531 "aconfigd-system", 532 "aflags", 533 "am", 534 "android.software.credentials.prebuilt.xml", // generic_system 535 "android.software.webview.prebuilt.xml", // media_system 536 "android.software.window_magnification.prebuilt.xml", // handheld_system 537 "android.system.suspend-service", 538 "apexd", 539 "appops", 540 "approved-ogki-builds.xml", // base_system 541 "appwidget", 542 "atrace", 543 "audioserver", 544 "bcc", 545 "blank_screen", 546 "blkid", 547 "bmgr", 548 "bootanimation", 549 "bootstat", 550 "bpfloader", 551 "bu", 552 "bugreport", 553 "bugreportz", 554 "cameraserver", 555 "cgroups.json", 556 "cmd", 557 "content", 558 "cppreopts.sh", // generic_system 559 "credstore", 560 "debuggerd", 561 "device_config", 562 "dirty-image-objects", 563 "dmctl", 564 "dmesgd", 565 "dnsmasq", 566 "dpm", 567 "dump.erofs", 568 "dumpstate", 569 "dumpsys", 570 "e2fsck", 571 "enhanced-confirmation.xml", // base_system 572 "etc_hosts", 573 "flags_health_check", 574 "framework-audio_effects.xml", // for handheld // handheld_system 575 "framework-sysconfig.xml", 576 "fs_config_dirs_system", 577 "fs_config_files_system", 578 "fsck.erofs", 579 "fsck.f2fs", // for media_system 580 "fsck_msdos", 581 "fsverity-release-cert-der", 582 "gatekeeperd", 583 "gpu_counter_producer", 584 "gpuservice", 585 "group_system", 586 "gsi_tool", 587 "gsid", 588 "heapprofd", 589 "hid", 590 "hiddenapi-package-whitelist.xml", // from runtime_libart 591 "idc_data", 592 "idmap2", 593 "idmap2d", 594 "ime", 595 "incident", 596 "incident-helper-cmd", 597 "incident_helper", 598 "incidentd", 599 "init.environ.rc-soong", 600 "init.usb.configfs.rc", 601 "init.usb.rc", 602 "init.zygote32.rc", 603 "init.zygote64.rc", 604 "init.zygote64_32.rc", 605 "initial-package-stopped-states.xml", 606 "input", 607 "installd", 608 "ip", // base_system 609 "iptables", 610 "kcmdlinectrl", 611 "kernel-lifetimes.xml", // base_system 612 "keychars_data", 613 "keylayout_data", 614 "keystore2", 615 "ld.mc", 616 "llkd", // base_system 617 "lmkd", // base_system 618 "locksettings", // base_system 619 "logcat", // base_system 620 "logd", // base_system 621 "lpdump", // base_system 622 "lshal", // base_system 623 "make_f2fs", // media_system 624 "mdnsd", // base_system 625 "media_profiles_V1_0.dtd", // base_system 626 "mediacodec.policy", // base_system 627 "mediaextractor", // base_system 628 "mediametrics", // base_system 629 "misctrl", // from base_system 630 "mke2fs", // base_system 631 "mkfs.erofs", // base_system 632 "monkey", // base_system 633 "mtectrl", // base_system 634 "ndc", // base_system 635 "netd", // base_system 636 "netutils-wrapper-1.0", // full_base 637 "notice_xml_system", 638 "odsign", // base_system 639 "otapreopt_script", // generic_system 640 "package-shareduid-allowlist.xml", // base_system 641 "passwd_system", // base_system 642 "pbtombstone", // base_system 643 "perfetto", // base_system 644 "ping", // base_system 645 "ping6", // base_system 646 "pintool", // base_system 647 "platform.xml", // base_system 648 "pm", // base_system 649 "prefetch", //base_system 650 "preinstalled-packages-asl-files.xml", // base_system 651 "preinstalled-packages-platform-generic-system.xml", // generic_system 652 "preinstalled-packages-platform-handheld-system.xml", // handheld_system 653 "preinstalled-packages-platform.xml", // base_system 654 "preinstalled-packages-strict-signature.xml", // base_system 655 "preloaded-classes", // ok 656 "privapp-permissions-platform.xml", // base_system 657 "prng_seeder", // base_system 658 "public.libraries.android.txt", 659 "recovery-persist", // base_system 660 "recovery-refresh", // generic_system 661 "requestsync", // media_system 662 "resize2fs", // base_system 663 "rss_hwm_reset", // base_system 664 "run-as", // base_system 665 "schedtest", // base_system 666 "screencap", // base_system 667 "screenrecord", // handheld_system 668 "sdcard", // base_system 669 "secdiscard", // base_system 670 "sensorservice", // base_system 671 "service", // base_system 672 "servicemanager", // base_system 673 "settings", // base_system 674 "sfdo", // base_system 675 "sgdisk", // base_system 676 "sm", // base_system 677 "snapuserd", // base_system 678 "storaged", // base_system 679 "surfaceflinger", // base_system 680 "svc", // base_system 681 "system_manifest.xml", // base_system 682 "task_profiles.json", // base_system 683 "tc", // base_system 684 "telecom", // base_system 685 "tombstoned", // base_system 686 "traced", // base_system 687 "traced_probes", // base_system 688 "tradeinmode", // base_system 689 "tune2fs", // base_system 690 "uiautomator", // base_system 691 "uinput", // base_system 692 "uncrypt", // base_system 693 "update_engine", // generic_system 694 "update_engine_sideload", // recovery 695 "update_verifier", // generic_system 696 "usbd", // base_system 697 "vdc", // base_system 698 "virtual_camera", // handheld_system // release_package_virtual_camera 699 "vold", // base_system 700 "vr", // handheld_system 701 "watchdogd", // base_system 702 "wifi.rc", // base_system 703 "wificond", // base_system 704 "wm", // base_system 705 ] + select(release_flag("RELEASE_PLATFORM_VERSION_CODENAME"), { 706 "REL": [], 707 default: [ 708 "android.software.preview_sdk.prebuilt.xml", // media_system 709 ], 710 }) + select(release_flag("RELEASE_MEMORY_MANAGEMENT_DAEMON"), { 711 true: [ 712 "mm_daemon", // base_system (RELEASE_MEMORY_MANAGEMENT_DAEMON) 713 ], 714 default: [ 715 "init-mmd-prop.rc", // base_system 716 ], 717 }) + select(product_variable("debuggable"), { 718 true: [ 719 "alloctop", 720 "adevice_fingerprint", 721 "arping", 722 "avbctl", 723 "bootctl", 724 "dmuserd", 725 "evemu-record", 726 "idlcli", 727 "init-debug.rc", 728 "iotop", 729 "iperf3", 730 "iw", 731 "layertracegenerator", 732 "logpersist.start", 733 "logtagd.rc", 734 "ot-cli-ftd", 735 "ot-ctl", 736 "overlay_remounter", 737 "procrank", 738 "profcollectctl", 739 "profcollectd", 740 "record_binder", 741 "sanitizer-status", 742 "servicedispatcher", 743 "showmap", 744 "snapshotctl", 745 "sqlite3", 746 "ss", 747 "start_with_lockagent", 748 "strace", 749 "su", 750 "tinycap", 751 "tinyhostless", 752 "tinymix", 753 "tinypcminfo", 754 "tinyplay", // host 755 "tracepath", 756 "tracepath6", 757 "traceroute6", 758 "unwind_info", 759 "unwind_reg_info", 760 "unwind_symbols", 761 "update_engine_client", 762 ], 763 default: [], 764 }) + select(release_flag("RELEASE_UPROBESTATS_MODULE"), { 765 true: [], 766 default: [ 767 "uprobestats", // base_system internal 768 ], 769 }), 770 multilib: { 771 common: { 772 deps: [ 773 "BackupRestoreConfirmation", // base_system 774 "BasicDreams", // handheld_system 775 "BlockedNumberProvider", // handheld_system 776 "BluetoothMidiService", // handheld_system 777 "BookmarkProvider", // handheld_system 778 "BuiltInPrintService", // handheld_system 779 "CalendarProvider", // handheld_system 780 "CallLogBackup", // telephony_system 781 "CameraExtensionsProxy", // handheld_system 782 "CaptivePortalLogin", // handheld_system 783 "CarrierDefaultApp", // telephony_system 784 "CellBroadcastLegacyApp", // telephony_system 785 "CertInstaller", // handheld_system 786 "CompanionDeviceManager", // media_system 787 "ContactsProvider", // base_system 788 "CredentialManager", // handheld_system 789 "DeviceAsWebcam", // handheld_system 790 "DeviceDiagnostics", // handheld_system - internal 791 "DocumentsUI", // handheld_system 792 "DownloadProvider", // base_system 793 "DownloadProviderUi", // handheld_system 794 "DynamicSystemInstallationService", // base_system 795 "E2eeContactKeysProvider", // base_system 796 "EasterEgg", // handheld_system 797 "ExtShared", // base_system 798 "ExternalStorageProvider", // handheld_system 799 "FusedLocation", // handheld_system 800 "HTMLViewer", // media_system 801 "InputDevices", // handheld_system 802 "IntentResolver", // base_system 803 "KeyChain", // handheld_system 804 "LiveWallpapersPicker", // generic_system, full_base 805 "LocalTransport", // base_system 806 "ManagedProvisioning", // handheld_system 807 "MediaProviderLegacy", // base_system 808 "MmsService", // handheld_system 809 "MtpService", // handheld_system 810 "MusicFX", // handheld_system 811 "NetworkStack", // base_system 812 "ONS", // telephony_system 813 "PacProcessor", // handheld_system 814 "PackageInstaller", // base_system 815 "PartnerBookmarksProvider", // generic_system 816 "PrintRecommendationService", // handheld_system 817 "PrintSpooler", // handheld_system 818 "ProxyHandler", // handheld_system 819 "SecureElement", // handheld_system 820 "SettingsProvider", // base_system 821 "SharedStorageBackup", // handheld_system 822 "Shell", // base_system 823 "SimAppDialog", // handheld_system 824 "SoundPicker", // not installed by anyone 825 "Stk", // generic_system 826 "Tag", // generic_system 827 "TeleService", // handheld_system 828 "Telecom", // handheld_system 829 "TelephonyProvider", // handheld_system 830 "Traceur", // handheld_system 831 "UserDictionaryProvider", // handheld_system 832 "VpnDialogs", // handheld_system 833 "WallpaperBackup", // base_system 834 "adbd_system_api", // base_system 835 "android.hidl.base-V1.0-java", // base_system 836 "android.hidl.manager-V1.0-java", // base_system 837 "android.test.base", // from runtime_libart 838 "android.test.mock", // base_system 839 "android.test.runner", // base_system 840 "aosp_mainline_modules", // ok 841 "build_flag_system", // base_system 842 "charger_res_images", // generic_system 843 "com.android.apex.cts.shim.v1_prebuilt", // ok 844 "com.android.cellbroadcast", // telephony_system 845 "com.android.future.usb.accessory", // media_system 846 "com.android.location.provider", // base_system 847 "com.android.media.remotedisplay", // media_system 848 "com.android.media.remotedisplay.xml", // media_system 849 "com.android.mediadrm.signer", // media_system 850 "com.android.nfc_extras", // ok 851 "com.android.nfcservices", // base_system (RELEASE_PACKAGE_NFC_STACK != NfcNci) 852 "com.android.runtime", // ok 853 "dex_bootjars", 854 "ext", // from runtime_libart 855 "framework-graphics", // base_system 856 "framework-location", // base_system 857 "framework-minus-apex-install-dependencies", // base_system 858 "framework_compatibility_matrix.device.xml", 859 "generic_system_fonts", // ok 860 "hwservicemanager_compat_symlink_module", // base_system 861 "hyph-data", 862 "ims-common", // base_system 863 "init_system", // base_system 864 "javax.obex", // base_system 865 "llndk.libraries.txt", //ok 866 "org.apache.http.legacy", // base_system 867 "perfetto-extras", // system 868 "sanitizer.libraries.txt", // base_system 869 "selinux_policy_system_soong", // ok 870 "services", // base_system 871 "shell_and_utilities_system", // ok 872 "system-build.prop", 873 "system_compatibility_matrix.xml", //base_system 874 "telephony-common", // libs from TeleService 875 "voip-common", // base_system 876 ] + select(soong_config_variable("ANDROID", "release_crashrecovery_module"), { 877 "true": [ 878 "com.android.crashrecovery", // base_system (RELEASE_CRASHRECOVERY_MODULE) 879 ], 880 default: [ 881 "framework-platformcrashrecovery", // base_system 882 ], 883 }) + select(release_flag("RELEASE_ONDEVICE_INTELLIGENCE_MODULE"), { 884 true: [ 885 "com.android.neuralnetworks", // base_system (RELEASE_ONDEVICE_INTELLIGENCE_MODULE) 886 ], 887 default: [ 888 "framework-ondeviceintelligence-platform", // base_system 889 ], 890 }) + select(soong_config_variable("ANDROID", "release_package_profiling_module"), { 891 "true": [ 892 "com.android.profiling", // base_system (RELEASE_PACKAGE_PROFILING_MODULE) 893 ], 894 default: [], 895 }) + select(release_flag("RELEASE_MOVE_VCN_TO_MAINLINE"), { 896 true: [], 897 default: [ 898 "framework-connectivity-b", // base_system 899 ], 900 }) + select(release_flag("RELEASE_UPROBESTATS_MODULE"), { 901 true: [ 902 "com.android.uprobestats", // base_system (RELEASE_UPROBESTATS_MODULE) 903 ], 904 default: [], 905 }), 906 }, 907 prefer32: { 908 deps: [ 909 "drmserver", // media_system 910 "mediaserver", // base_system 911 ], 912 }, 913 lib64: { 914 deps: [ 915 "android.system.virtualizationcommon-ndk", 916 "android.system.virtualizationservice-ndk", 917 "libgsi", 918 "servicemanager", 919 ], 920 }, 921 both: { 922 deps: [ 923 "android.hardware.biometrics.fingerprint@2.1", // generic_system 924 "android.hardware.radio.config@1.0", // generic_system 925 "android.hardware.radio.deprecated@1.0", // generic_system 926 "android.hardware.radio@1.0", // generic_system 927 "android.hardware.radio@1.1", // generic_system 928 "android.hardware.radio@1.2", // generic_system 929 "android.hardware.radio@1.3", // generic_system 930 "android.hardware.radio@1.4", // generic_system 931 "android.hardware.secure_element@1.0", // generic_system 932 "app_process", // base_system 933 "boringssl_self_test", // base_system 934 "heapprofd_client", // base_system 935 "libEGL", // base_system 936 "libEGL_angle", // base_system 937 "libETC1", // base_system 938 "libFFTEm", // base_system 939 "libGLESv1_CM", // base_system 940 "libGLESv1_CM_angle", // base_system 941 "libGLESv2", // base_system 942 "libGLESv2_angle", // base_system 943 "libGLESv3", // base_system 944 "libOpenMAXAL", // base_system 945 "libOpenSLES", // base_system 946 "libaaudio", // base_system 947 "libalarm_jni", // base_system 948 "libamidi", // base_system 949 "libandroid", 950 "libandroid_runtime", 951 "libandroid_servers", 952 "libandroidfw", 953 "libartpalette-system", 954 "libaudio-resampler", // generic-system 955 "libaudioeffect_jni", 956 "libaudiohal", // generic-system 957 "libaudiopolicyengineconfigurable", // generic-system 958 "libbinder", 959 "libbinder_ndk", 960 "libbinder_rpc_unstable", 961 "libcamera2ndk", 962 "libcgrouprc", // llndk library 963 "libclang_rt.asan", 964 "libcompiler_rt", 965 "libcutils", // used by many libs 966 "libdmabufheap", // used by many libs 967 "libdrm", // used by many libs // generic_system 968 "libdrmframework", // base_system 969 "libdrmframework_jni", // base_system 970 "libfdtrack", // base_system 971 "libfilterfw", // base_system 972 "libfilterpack_imageproc", // media_system 973 "libfwdlockengine", // generic_system 974 "libgatekeeper", // base_system 975 "libgui", // base_system 976 "libhardware", // base_system 977 "libhardware_legacy", // base_system 978 "libhidltransport", // generic_system 979 "libhwbinder", // generic_system 980 "libinput", // base_system 981 "libinputflinger", // base_system 982 "libiprouteutil", // base_system 983 "libjnigraphics", // base_system 984 "libjpeg", // base_system 985 "liblog", // base_system 986 "liblogwrap", // generic_system 987 "liblz4", // generic_system 988 "libmedia", // base_system 989 "libmedia_jni", // base_system 990 "libmediandk", // base_system 991 "libminui", // generic_system 992 "libmonkey_jni", // base_system - internal 993 "libmtp", // base_system 994 "libnetd_client", // base_system 995 "libnetlink", // base_system 996 "libnetutils", // base_system 997 "libneuralnetworks_packageinfo", // base_system 998 "libnl", // generic_system 999 "libpdfium", // base_system 1000 "libpolicy-subsystem", // generic_system 1001 "libpower", // base_system 1002 "libpowermanager", // base_system 1003 "libprotobuf-cpp-full", // generic_system 1004 "libradio_metadata", // base_system 1005 "librs_jni", // handheld_system 1006 "librtp_jni", // base_system 1007 "libsensorservice", // base_system 1008 "libsfplugin_ccodec", // base_system 1009 "libskia", // base_system 1010 "libsonic", // base_system 1011 "libsonivox", // base_system 1012 "libsoundpool", // base_system 1013 "libspeexresampler", // base_system 1014 "libsqlite", // base_system 1015 "libstagefright", // base_system 1016 "libstagefright_foundation", // base_system 1017 "libstagefright_omx", // base_system 1018 "libstdc++", // base_system 1019 "libsysutils", // base_system 1020 "libui", // base_system 1021 "libusbhost", // base_system 1022 "libutils", // base_system 1023 "libvendorsupport", // llndk library 1024 "libvintf_jni", // base_system 1025 "libvulkan", // base_system 1026 "libwebviewchromium_loader", // media_system 1027 "libwebviewchromium_plat_support", // media_system 1028 "libwilhelm", // base_system 1029 "linker", // base_system 1030 ] + select(soong_config_variable("ANDROID", "TARGET_DYNAMIC_64_32_DRMSERVER"), { 1031 "true": ["drmserver"], 1032 default: [], 1033 }) + select(soong_config_variable("ANDROID", "TARGET_DYNAMIC_64_32_MEDIASERVER"), { 1034 "true": ["mediaserver"], 1035 default: [], 1036 }) + select(release_flag("RELEASE_UPROBESTATS_MODULE"), { 1037 true: [], 1038 default: [ 1039 "libuprobestats_client", // base_system internal 1040 ], 1041 }), 1042 }, 1043 }, 1044 arch: { 1045 arm64: { 1046 deps: [ 1047 "libclang_rt.hwasan", 1048 "libc_hwasan", 1049 ], 1050 }, 1051 }, 1052} 1053 1054android_system_image { 1055 name: "aosp_shared_system_image", 1056 defaults: ["system_image_defaults"], 1057 dirs: android_rootdirs, 1058 symlinks: android_symlinks, 1059 type: "erofs", 1060 erofs: { 1061 compressor: "lz4hc,9", 1062 compress_hints: "erofs_compress_hints.txt", 1063 }, 1064 deps: [ 1065 // DO NOT update this list. Instead, update the system_image_defaults to 1066 // sync with the base_system.mk 1067 "logpersist.start", // cf only 1068 ], 1069} 1070