1// Copyright (C) 2021 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package { 16 default_applicable_licenses: ["Android-Apache-2.0"], 17} 18 19apex { 20 name: "com.android.car.framework", 21 defaults: ["com.android.car.framework-defaults"], 22 manifest: "apex_manifest.json", 23} 24 25apex_defaults { 26 bootclasspath_fragments: ["com.android.car.framework-bootclasspath-fragment"], 27 systemserverclasspath_fragments: ["com.android.car.framework-systemserverclasspath-fragment"], 28 29 // TODO(b/202031799) Fix jni dependencies 30 //jni_libs: [ 31 // "libcarservicejni", 32 //], 33 34 apps: [ 35 "CarServiceUpdatable", 36 "ScriptExecutor", 37 ], 38 compile_multilib: "both", 39 name: "com.android.car.framework-defaults", 40 41 min_sdk_version: "33", 42 file_contexts: ":com.android.car.framework-file_contexts", 43 key: "com.android.car.framework.key", 44 certificate: ":com.android.car.framework.certificate", 45 46 // TODO(b/202773532) Enable this after all dependencies are resolved. 47 updatable: false, 48} 49 50apex_key { 51 name: "com.android.car.framework.key", 52 public_key: "com.android.car.framework.avbpubkey", 53 private_key: "com.android.car.framework.pem", 54} 55 56android_app_certificate { 57 name: "com.android.car.framework.certificate", 58 // This will use com.android.car.framework.x509.pem (the cert) and 59 // com.android.car.framework.pk8 (the private key) 60 certificate: "com.android.car.framework", 61} 62 63systemserverclasspath_fragment { 64 name: "com.android.car.framework-systemserverclasspath-fragment", 65 contents: ["car-frameworks-service-module"], 66 apex_available: ["com.android.car.framework"], 67} 68 69bootclasspath_fragment { 70 name: "com.android.car.framework-bootclasspath-fragment", 71 contents: ["android.car-module"], 72 apex_available: ["com.android.car.framework"], 73 74 // The bootclasspath_fragments that provide APIs on which this depends. 75 fragments: [ 76 { 77 apex: "com.android.art", 78 module: "art-bootclasspath-fragment", 79 }, 80 // framework-statsd 81 { 82 apex: "com.android.os.statsd", 83 module: "com.android.os.statsd-bootclasspath-fragment", 84 }, 85 // frameworks-wifi 86 { 87 apex: "com.android.wifi", 88 module: "com.android.wifi-bootclasspath-fragment", 89 }, 90 ], 91 92 // Additional stubs libraries that this fragment's contents use which are 93 // not provided by another bootclasspath_fragment. 94 additional_stubs: [ 95 "android-non-updatable", 96 ], 97 hidden_api: { 98 99 // This module does not contain any split packages. 100 split_packages: [], 101 102 // The following packages currently only contain classes from this 103 // bootclasspath_fragment but some of their sub-packages contain classes 104 // from other bootclasspath modules. Packages should only be listed here 105 // when necessary for legacy purposes, new packages should match a 106 // package prefix. 107 single_packages: [ 108 "android.car", 109 ], 110 111 // The following packages and all their subpackages currently only 112 // contain classes from this bootclasspath_fragment. Listing a package 113 // here won't prevent other bootclasspath modules from adding classes in 114 // any of those packages but it will prevent them from adding those 115 // classes into an API surface, e.g. public, system, etc.. Doing so will 116 // result in a build failure due to inconsistent flags. 117 package_prefixes: [ 118 "android.car.admin", 119 "android.car.annotation", 120 "android.car.app", 121 "android.car.cluster", 122 "android.car.content", 123 "android.car.diagnostic", 124 "android.car.drivingstate", 125 "android.car.evs", 126 "android.car.hardware", 127 "android.car.input", 128 "android.car.media", 129 "android.car.navigation", 130 "android.car.occupantawareness", 131 "android.car.oem", 132 "android.car.os", 133 "android.car.projection", 134 "android.car.settings", 135 "android.car.storagemonitoring", 136 "android.car.telemetry", 137 "android.car.test", 138 "android.car.user", 139 "android.car.util", 140 "android.car.vms", 141 "android.car.watchdog", 142 "com.android.car", 143 ], 144 }, 145 146} 147