232 lines
7.4 KiB
Plaintext
232 lines
7.4 KiB
Plaintext
//
|
|
// Copyright (C) 2019 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
|
|
package {
|
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
|
}
|
|
|
|
prebuilt_etc {
|
|
name: "TetheringOutOfProcessFlag",
|
|
src: "out-of-process",
|
|
filename_from_src: true,
|
|
sub_dir: "flag",
|
|
}
|
|
|
|
// Defaults to enable/disable java targets which uses development APIs. "enabled" may have a
|
|
// different value depending on the branch.
|
|
java_defaults {
|
|
name: "ConnectivityNextEnableDefaults",
|
|
enabled: true,
|
|
}
|
|
java_defaults {
|
|
name: "NetworkStackApiShimSettingsForCurrentBranch",
|
|
// API shims to include in the networking modules built from the branch. Branches that disable
|
|
// the "next" targets must use stable shims (latest stable API level) instead of current shims
|
|
// (X_current API level).
|
|
static_libs: ["NetworkStackApiCurrentShims"],
|
|
}
|
|
apex_defaults {
|
|
name: "ConnectivityApexDefaults",
|
|
// Tethering app to include in the AOSP apex. Branches that disable the "next" targets may use
|
|
// a stable tethering app instead, but will generally override the AOSP apex to use updatable
|
|
// package names and keys, so that apex will be unused anyway.
|
|
apps: ["TetheringNext"], // Replace to "Tethering" if ConnectivityNextEnableDefaults is false.
|
|
}
|
|
enable_tethering_next_apex = true
|
|
// This is a placeholder comment to avoid merge conflicts
|
|
// as the above target may have different "enabled" values
|
|
// depending on the branch
|
|
|
|
apex_defaults {
|
|
name: "CronetInTetheringApexDefaults",
|
|
jni_libs: [
|
|
"cronet_aml_components_cronet_android_cronet",
|
|
"//external/cronet/third_party/boringssl:libcrypto",
|
|
"//external/cronet/third_party/boringssl:libssl",
|
|
],
|
|
arch: {
|
|
riscv64: {
|
|
// TODO: remove this when there is a riscv64 libcronet
|
|
exclude_jni_libs: [
|
|
"cronet_aml_components_cronet_android_cronet",
|
|
"//external/cronet/third_party/boringssl:libcrypto",
|
|
"//external/cronet/third_party/boringssl:libssl",
|
|
],
|
|
},
|
|
},
|
|
}
|
|
|
|
apex {
|
|
name: "com.android.tethering",
|
|
defaults: [
|
|
"ConnectivityApexDefaults",
|
|
"CronetInTetheringApexDefaults",
|
|
"r-launched-apex-module",
|
|
],
|
|
compile_multilib: "both",
|
|
bootclasspath_fragments: [
|
|
"com.android.tethering-bootclasspath-fragment",
|
|
],
|
|
systemserverclasspath_fragments: [
|
|
"com.android.tethering-systemserverclasspath-fragment",
|
|
],
|
|
multilib: {
|
|
first: {
|
|
jni_libs: [
|
|
"libservice-connectivity",
|
|
"libandroid_net_connectivity_com_android_net_module_util_jni",
|
|
],
|
|
native_shared_libs: [
|
|
"libcom.android.tethering.connectivity_native",
|
|
"libnetd_updatable",
|
|
],
|
|
},
|
|
both: {
|
|
jni_libs: [
|
|
"libframework-connectivity-jni",
|
|
"libframework-connectivity-tiramisu-jni"
|
|
],
|
|
},
|
|
},
|
|
binaries: [
|
|
"clatd",
|
|
],
|
|
canned_fs_config: "canned_fs_config",
|
|
bpfs: [
|
|
"block.o",
|
|
"clatd.o",
|
|
"dscpPolicy.o",
|
|
"netd.o",
|
|
"offload.o",
|
|
"offload@btf.o",
|
|
"test.o",
|
|
"test@btf.o",
|
|
],
|
|
apps: [
|
|
"ServiceConnectivityResources",
|
|
"HalfSheetUX",
|
|
],
|
|
prebuilts: [
|
|
"current_sdkinfo",
|
|
"privapp_allowlist_com.android.tethering",
|
|
"TetheringOutOfProcessFlag",
|
|
],
|
|
manifest: "manifest.json",
|
|
key: "com.android.tethering.key",
|
|
// Indicates that pre-installed version of this apex can be compressed.
|
|
// Whether it actually will be compressed is controlled on per-device basis.
|
|
compressible: true,
|
|
|
|
androidManifest: "AndroidManifest.xml",
|
|
|
|
compat_configs: [
|
|
"connectivity-platform-compat-config",
|
|
],
|
|
}
|
|
|
|
apex_key {
|
|
name: "com.android.tethering.key",
|
|
public_key: "com.android.tethering.avbpubkey",
|
|
private_key: "com.android.tethering.pem",
|
|
}
|
|
|
|
android_app_certificate {
|
|
name: "com.android.tethering.certificate",
|
|
certificate: "com.android.tethering",
|
|
}
|
|
|
|
filegroup {
|
|
name: "connectivity-hiddenapi-files",
|
|
srcs: [
|
|
":connectivity-t-hiddenapi-files",
|
|
"hiddenapi/*.txt",
|
|
],
|
|
visibility: ["//packages/modules/Connectivity:__subpackages__"],
|
|
}
|
|
|
|
// Encapsulate the contributions made by the com.android.tethering to the bootclasspath.
|
|
bootclasspath_fragment {
|
|
name: "com.android.tethering-bootclasspath-fragment",
|
|
contents: [
|
|
"framework-connectivity",
|
|
"framework-connectivity-t",
|
|
"framework-tethering",
|
|
],
|
|
apex_available: ["com.android.tethering"],
|
|
|
|
// The bootclasspath_fragments that provide APIs on which this depends.
|
|
fragments: [
|
|
{
|
|
apex: "com.android.art",
|
|
module: "art-bootclasspath-fragment",
|
|
},
|
|
],
|
|
|
|
// Additional stubs libraries that this fragment's contents use which are
|
|
// not provided by another bootclasspath_fragment.
|
|
additional_stubs: [
|
|
"android-non-updatable",
|
|
],
|
|
|
|
// Additional hidden API flag files to override the defaults. This must only be
|
|
// modified by the Soong or platform compat team.
|
|
hidden_api: {
|
|
max_target_o_low_priority: [
|
|
"hiddenapi/hiddenapi-max-target-o-low-priority.txt",
|
|
],
|
|
unsupported: [
|
|
"hiddenapi/hiddenapi-unsupported.txt",
|
|
],
|
|
|
|
// The following packages contain classes from other modules on the
|
|
// bootclasspath. That means that the hidden API flags for this module
|
|
// has to explicitly list every single class this module provides in
|
|
// that package to differentiate them from the classes provided by other
|
|
// modules. That can include private classes that are not part of the
|
|
// API.
|
|
split_packages: [
|
|
"android.app.usage",
|
|
"android.nearby",
|
|
"android.net",
|
|
"android.net.http",
|
|
"android.net.netstats",
|
|
"android.net.util",
|
|
],
|
|
|
|
// The following packages and all their subpackages currently only
|
|
// contain classes from this bootclasspath_fragment. Listing a package
|
|
// here won't prevent other bootclasspath modules from adding classes in
|
|
// any of those packages but it will prevent them from adding those
|
|
// classes into an API surface, e.g. public, system, etc.. Doing so will
|
|
// result in a build failure due to inconsistent flags.
|
|
package_prefixes: [
|
|
"android.nearby.aidl",
|
|
"android.net.apf",
|
|
"android.net.connectivity",
|
|
"android.net.http.apihelpers",
|
|
"android.net.netstats.provider",
|
|
"android.net.nsd",
|
|
"android.net.wear",
|
|
],
|
|
},
|
|
}
|
|
|
|
systemserverclasspath_fragment {
|
|
name: "com.android.tethering-systemserverclasspath-fragment",
|
|
standalone_contents: ["service-connectivity"],
|
|
apex_available: ["com.android.tethering"],
|
|
}
|