1package { 2 // See: http://go/android-license-faq 3 // A large-scale-change added 'default_applicable_licenses' to import 4 // all of the 'license_kinds' from "system_bt_license" 5 // to get the below license kinds: 6 // SPDX-license-identifier-Apache-2.0 7 default_applicable_licenses: ["system_bt_license"], 8} 9 10linker_config { 11 name: "btservices-linker-config", 12 src: "linker.config.json", 13 installable: false, 14} 15 16// Mainline bluetooth apex module. 17apex { 18 name: "com.android.btservices", 19 defaults: ["t-launched-apex-module"], 20 manifest: "apex_manifest.json", 21 bootclasspath_fragments: ["com.android.btservices-bootclasspath-fragment"], 22 systemserverclasspath_fragments: ["com.android.btservices-systemserverclasspath-fragment"], 23 compat_configs: [ 24 "bluetooth-compat-config", 25 "bluetoothapk-platform-compat-config", 26 "framework-bluetooth-compat-config", 27 ], 28 apps: ["Bluetooth"], 29 30 multilib: { 31 first: { 32 // Extractor process runs only with the primary ABI. 33 jni_libs: [ 34 "libbluetooth_jni", 35 ], 36 }, 37 }, 38 39 prebuilts: [ 40 "audio_set_configurations_bfbs", 41 "audio_set_configurations_json", 42 "audio_set_scenarios_bfbs", 43 "audio_set_scenarios_json", 44 "bt_did.conf", 45 "bt_stack.conf", 46 "btservices-linker-config", 47 "interop_database.conf", 48 ], 49 key: "com.android.btservices.key", 50 certificate: ":com.android.btservices.certificate", 51 updatable: true, 52 compressible: false, 53 visibility: ["//packages/modules/common/build"], 54} 55 56apex_key { 57 name: "com.android.btservices.key", 58 public_key: "com.android.btservices.avbpubkey", 59 private_key: "com.android.btservices.pem", 60} 61 62android_app_certificate { 63 name: "com.android.btservices.certificate", 64 certificate: "com.android.btservices", 65} 66 67sdk { 68 name: "btservices-module-sdk", 69 apexes: [ 70 // Adds exportable dependencies of the APEX to the sdk, 71 // e.g. *classpath_fragments. 72 "com.android.btservices", 73 ], 74} 75 76// Encapsulate the contributions made by the com.android.bluetooth to the bootclasspath. 77bootclasspath_fragment { 78 name: "com.android.btservices-bootclasspath-fragment", 79 contents: ["framework-bluetooth"], 80 apex_available: ["com.android.btservices"], 81 82 // The bootclasspath_fragments that provide APIs on which this depends. 83 fragments: [ 84 { 85 apex: "com.android.art", 86 module: "art-bootclasspath-fragment", 87 }, 88 ], 89 90 // Additional stubs libraries that this fragment's contents use which are 91 // not provided by another bootclasspath_fragment. 92 additional_stubs: [ 93 "android-non-updatable", 94 ], 95 96 // Additional hidden API flag files to override the defaults. This must only be 97 // modified by the Soong or platform compat team. 98 hidden_api: { 99 max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"], 100 max_target_r_low_priority: ["hiddenapi/hiddenapi-max-target-r-low-priority.txt"], 101 unsupported: ["hiddenapi/hiddenapi-unsupported.txt"], 102 103 // The following packages contain classes from other modules on the 104 // bootclasspath. That means that the hidden API flags for this module 105 // has to explicitly list every single class this module provides in 106 // that package to differentiate them from the classes provided by other 107 // modules. That can include private classes that are not part of the 108 // API. 109 split_packages: [ 110 "android.bluetooth", 111 ], 112 113 // The following packages and all their subpackages currently only 114 // contain classes from this bootclasspath_fragment. Listing a package 115 // here won't prevent other bootclasspath modules from adding classes in 116 // any of those packages but it will prevent them from adding those 117 // classes into an API surface, e.g. public, system, etc.. Doing so will 118 // result in a build failure due to inconsistent flags. 119 package_prefixes: [ 120 "android.bluetooth.le", 121 "com.android.bluetooth", 122 ], 123 }, 124 125} 126 127systemserverclasspath_fragment { 128 name: "com.android.btservices-systemserverclasspath-fragment", 129 standalone_contents: ["service-bluetooth"], 130 apex_available: ["com.android.btservices"], 131} 132