1// Copyright (C) 2022 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_key { 20 name: "com.android.devicelock.key", 21 public_key: "com.android.devicelock.avbpubkey", 22 private_key: "com.android.devicelock.pem", 23} 24 25android_app_certificate { 26 name: "com.android.devicelock.certificate", 27 certificate: "com.android.devicelock", 28} 29 30// Encapsulate the contributions made by the com.android.devicelock to the bootclasspath. 31bootclasspath_fragment { 32 name: "com.android.devicelock-bootclasspath-fragment", 33 contents: ["framework-devicelock"], 34 apex_available: ["com.android.devicelock"], 35 36 // The bootclasspath_fragments that provide APIs on which this depends. 37 fragments: [ 38 { 39 apex: "com.android.art", 40 module: "art-bootclasspath-fragment", 41 }, 42 ], 43 44 // Additional stubs libraries that this fragment's contents use which are 45 // not provided by another bootclasspath_fragment. 46 additional_stubs: [ 47 "android-non-updatable", 48 ], 49 hidden_api: { 50 51 // This module does not contain any split packages. 52 split_packages: [], 53 54 // The following packages and all their subpackages currently only 55 // contain classes from this bootclasspath_fragment. Listing a package 56 // here won't prevent other bootclasspath modules from adding classes in 57 // any of those packages but it will prevent them from adding those 58 // classes into an API surface, e.g. public, system, etc.. Doing so will 59 // result in a build failure due to inconsistent flags. 60 package_prefixes: [ 61 "android.devicelock", 62 "com.android.devicelock.flags", 63 ], 64 }, 65} 66 67systemserverclasspath_fragment { 68 name: "com.android.devicelock-systemserverclasspath-fragment", 69 standalone_contents: ["service-devicelock"], 70 apex_available: ["com.android.devicelock"], 71} 72 73override_apex { 74 name: "com.android.devicelock-debug", 75 base: "com.android.devicelock", 76 apps: [ 77 "DeviceLockControllerDebug", 78 ], 79} 80 81apex { 82 name: "com.android.devicelock", 83 min_sdk_version: "UpsideDownCake", 84 bootclasspath_fragments: ["com.android.devicelock-bootclasspath-fragment"], 85 systemserverclasspath_fragments: ["com.android.devicelock-systemserverclasspath-fragment"], 86 prebuilts: ["current_sdkinfo"], 87 manifest: "manifest.json", 88 androidManifest: "AndroidManifest.xml", 89 file_contexts: ":com.android.devicelock-file_contexts", 90 key: "com.android.devicelock.key", 91 certificate: ":com.android.devicelock.certificate", 92 apps: [ 93 "DeviceLockController", 94 ], 95 updatable: false, 96 future_updatable: true, 97} 98 99sdk { 100 name: "devicelock-module-sdk", 101 apexes: [ 102 // Adds exportable dependencies of the APEX to the sdk, 103 // e.g. *classpath_fragments. 104 "com.android.devicelock", 105 ], 106} 107