Revert^2 "Move service-connectivity to the tethering APEX"

As part of modularization of ConnectivityService and expansion of the
Tethering module scope, move service-connectivity.jar into the tethering
APEX, and load it from there.

This rolls forward the change. The original topic was reverted because
of a bad merged-in clause; this is fixed and re-verified in this topic.

Bug: 171540887
Test: m, device boots and connectivity

Change-Id: I293b09c0dc04c6ccafa30cd0f1a63efe32283604
This commit is contained in:
Remi NGUYEN VAN
2021-01-08 01:19:44 +00:00
parent b6031f3768
commit e724f63f57
3 changed files with 10 additions and 19 deletions

View File

@@ -14,8 +14,8 @@
// limitations under the License.
//
cc_defaults {
name: "libservice-connectivity-defaults",
cc_library_shared {
name: "libservice-connectivity",
// TODO: build against the NDK (sdk_version: "30" for example)
cflags: [
"-Wall",
@@ -26,6 +26,7 @@ cc_defaults {
srcs: [
"jni/com_android_server_TestNetworkService.cpp",
"jni/com_android_server_connectivity_Vpn.cpp",
"jni/onload.cpp",
],
shared_libs: [
"libbase",
@@ -35,27 +36,11 @@ cc_defaults {
// addresses, and remove dependency on libnetutils.
"libnetutils",
],
}
cc_library_shared {
name: "libservice-connectivity",
defaults: ["libservice-connectivity-defaults"],
srcs: [
"jni/onload.cpp",
],
apex_available: [
// TODO: move this library to the tethering APEX and remove libservice-connectivity-static
// "com.android.tethering",
"com.android.tethering",
],
}
// Static library linked into libservices.core until libservice-connectivity can be loaded from
// the tethering APEX instead.
cc_library_static {
name: "libservice-connectivity-static",
defaults: ["libservice-connectivity-defaults"],
}
java_library {
name: "service-connectivity",
srcs: [
@@ -75,5 +60,6 @@ java_library {
],
apex_available: [
"//apex_available:platform",
"com.android.tethering",
],
}

View File

@@ -36,6 +36,8 @@ public final class ConnectivityServiceInitializer extends SystemService {
public ConnectivityServiceInitializer(Context context) {
super(context);
// Load JNI libraries used by ConnectivityService and its dependencies
System.loadLibrary("service-connectivity");
// TODO: Define formal APIs to get the needed services.
mConnectivity = new ConnectivityService(context, getNetworkManagementService(),
getNetworkStatsService(), getNetworkPolicyManager());

View File

@@ -70,4 +70,7 @@ android_test {
"android.test.base",
"android.test.mock",
],
jni_libs: [
"libservice-connectivity",
],
}