Files
android_packages_modules_Co…/framework/Android.bp
Remi NGUYEN VAN 4dbc3b55c9 Add min_sdk_version to connectivity targets
All targets need min_sdk_version 30 to be included in the tethering
APEX. They will actually never be used on SDK 30 and are only loaded on
31, but this is necessary to be included in com.android.tethering.

Bug: 171540887
Test: m
Change-Id: I190fd1f3c9fabff057d0a2bd7f45b63a4fe447b3
2021-03-24 10:08:39 +00:00

186 lines
5.1 KiB
Plaintext

//
// Copyright (C) 2020 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 {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "frameworks_base_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["frameworks_base_license"],
}
java_library {
name: "framework-connectivity-protos",
sdk_version: "module_current",
min_sdk_version: "30",
proto: {
type: "nano",
},
srcs: [
// TODO: consider moving relevant .proto files directly to the module directory
":framework-javastream-protos",
],
apex_available: [
"//apex_available:platform",
"com.android.tethering",
],
jarjar_rules: "jarjar-rules-proto.txt",
visibility: [
"//visibility:private",
],
}
filegroup {
name: "framework-connectivity-internal-sources",
srcs: [
"src/**/*.java",
"src/**/*.aidl",
],
path: "src",
visibility: [
"//visibility:private",
],
}
filegroup {
name: "framework-connectivity-aidl-export-sources",
srcs: [
"aidl-export/**/*.aidl",
],
path: "aidl-export",
visibility: [
"//visibility:private",
],
}
// TODO: use a java_library in the bootclasspath instead
filegroup {
name: "framework-connectivity-sources",
srcs: [
":framework-connectivity-internal-sources",
":framework-connectivity-aidl-export-sources",
],
visibility: [
"//frameworks/base",
"//packages/modules/Connectivity:__subpackages__",
],
}
java_sdk_library {
name: "framework-connectivity",
api_only: true,
defaults: ["framework-module-defaults"],
installable: true,
srcs: [
":framework-connectivity-sources",
],
aidl: {
include_dirs: [
// Include directories for parcelables that are part of the stable API, and need a
// one-line "parcelable X" .aidl declaration to be used in AIDL interfaces.
// TODO(b/180293679): remove these dependencies as they should not be necessary once
// the module builds against API (the parcelable declarations exist in framework.aidl)
"frameworks/base/core/java", // For framework parcelables
"frameworks/native/aidl/binder", // For PersistableBundle.aidl
],
},
libs: [
"unsupportedappusage",
],
permitted_packages: ["android.net"],
}
cc_defaults {
name: "libframework-connectivity-defaults",
cflags: [
"-Wall",
"-Werror",
"-Wno-unused-parameter",
// Don't warn about S API usage even with
// min_sdk 30: the library is only loaded
// on S+ devices
"-Wno-unguarded-availability",
"-Wthread-safety",
],
shared_libs: [
"liblog",
"libnativehelper",
],
header_libs: [
"dnsproxyd_protocol_headers",
],
}
cc_library_static {
name: "libconnectivityframeworkutils",
defaults: ["libframework-connectivity-defaults"],
srcs: [
"jni/android_net_NetworkUtils.cpp",
],
shared_libs: ["libandroid_net"],
apex_available: [
"//apex_available:platform",
"com.android.tethering",
],
}
cc_library_shared {
name: "libframework-connectivity-jni",
min_sdk_version: "30",
defaults: ["libframework-connectivity-defaults"],
srcs: [
"jni/android_net_NetworkUtils.cpp",
"jni/onload.cpp",
],
shared_libs: ["libandroid"],
stl: "libc++_static",
apex_available: [
"//apex_available:platform",
"com.android.tethering",
],
}
java_library {
name: "framework-connectivity.impl",
sdk_version: "module_current",
min_sdk_version: "30",
srcs: [
":framework-connectivity-sources",
],
aidl: {
include_dirs: [
"frameworks/base/core/java", // For framework parcelables
"frameworks/native/aidl/binder", // For PersistableBundle.aidl
],
},
libs: [
// TODO (b/183097033) remove once module_current includes core_current
"stable.core.platform.api.stubs",
"framework-tethering",
"framework-wifi",
"unsupportedappusage",
],
static_libs: [
"framework-connectivity-protos",
"net-utils-device-common",
],
jarjar_rules: "jarjar-rules.txt",
apex_available: ["com.android.tethering"],
installable: true,
permitted_packages: ["android.net"],
}