Instead of having a library in the classpath where the NetworkStack is created by reflection on devices using the network stack in-process, just bind to a version of the network stack service that runs in the system process. If the in-process version is installed it will be used, otherwise the module is used with its own process. Bug: 127908503 Test: blueline boots and has functional WiFi Test: atest FrameworksNetTests NetworkStackTests Test: svelte build boots and has functional WiFi Change-Id: I7722b173e5686e0dbb9cfddcfb34344b0f4135d9
66 lines
2.1 KiB
Plaintext
66 lines
2.1 KiB
Plaintext
//
|
|
// Copyright (C) 2018 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.
|
|
//
|
|
|
|
// Library including the network stack, used to compile both variants of the network stack
|
|
android_library {
|
|
name: "NetworkStackBase",
|
|
sdk_version: "system_current",
|
|
min_sdk_version: "28",
|
|
srcs: [
|
|
"src/**/*.java",
|
|
":framework-networkstack-shared-srcs",
|
|
":services-networkstack-shared-srcs",
|
|
],
|
|
static_libs: [
|
|
"netd_aidl_interface-java",
|
|
"networkstack-aidl-interfaces-java",
|
|
"datastallprotosnano",
|
|
],
|
|
manifest: "AndroidManifestBase.xml",
|
|
}
|
|
|
|
// Non-updatable in-process network stack for devices not using the module
|
|
android_app {
|
|
name: "InProcessNetworkStack",
|
|
sdk_version: "system_current",
|
|
min_sdk_version: "28",
|
|
certificate: "platform",
|
|
privileged: true,
|
|
static_libs: [
|
|
"NetworkStackBase",
|
|
],
|
|
jarjar_rules: "jarjar-rules-shared.txt",
|
|
// The permission configuration *must* be included to ensure security of the device
|
|
required: ["NetworkStackPermissionStub"],
|
|
manifest: "AndroidManifest_InProcess.xml",
|
|
}
|
|
|
|
// Updatable network stack packaged as an application
|
|
android_app {
|
|
name: "NetworkStack",
|
|
sdk_version: "system_current",
|
|
min_sdk_version: "28",
|
|
certificate: "networkstack",
|
|
privileged: true,
|
|
static_libs: [
|
|
"NetworkStackBase"
|
|
],
|
|
jarjar_rules: "jarjar-rules-shared.txt",
|
|
// The permission configuration *must* be included to ensure security of the device
|
|
required: ["NetworkStackPermissionStub"],
|
|
manifest: "AndroidManifest.xml",
|
|
}
|