diff --git a/service-t/native/libs/libnetworkstats/Android.bp b/service-t/native/libs/libnetworkstats/Android.bp index d24b14b51f..bf56fd5609 100644 --- a/service-t/native/libs/libnetworkstats/Android.bp +++ b/service-t/native/libs/libnetworkstats/Android.bp @@ -41,7 +41,6 @@ cc_library { cfi: true, }, apex_available: [ - "//apex_available:platform", "com.android.tethering", ], min_sdk_version: "30", diff --git a/service/Android.bp b/service/Android.bp index eed84fe066..2cfab1e5bb 100644 --- a/service/Android.bp +++ b/service/Android.bp @@ -55,6 +55,7 @@ cc_library_shared { "-Wthread-safety", ], srcs: [ + ":services.connectivity-netstats-jni-sources", "jni/com_android_server_BpfNetMaps.cpp", "jni/com_android_server_connectivity_ClatCoordinator.cpp", "jni/com_android_server_TestNetworkService.cpp", @@ -66,15 +67,19 @@ cc_library_shared { static_libs: [ "libclat", "libip_checksum", + "libmodules-utils-build", "libnetjniutils", + "libnet_utils_device_common_bpfjni", "libtraffic_controller", "netd_aidl_interface-lateststable-ndk", ], shared_libs: [ "libbase", + "libcutils", "libnetdutils", "liblog", "libnativehelper", + "libnetworkstats", ], apex_available: [ "com.android.tethering", diff --git a/service/jni/onload.cpp b/service/jni/onload.cpp index facdad7041..3d15d43db4 100644 --- a/service/jni/onload.cpp +++ b/service/jni/onload.cpp @@ -17,11 +17,15 @@ #include #include +#include + namespace android { int register_com_android_server_TestNetworkService(JNIEnv* env); int register_com_android_server_connectivity_ClatCoordinator(JNIEnv* env); int register_com_android_server_BpfNetMaps(JNIEnv* env); +int register_android_server_net_NetworkStatsFactory(JNIEnv* env); +int register_android_server_net_NetworkStatsService(JNIEnv* env); extern "C" jint JNI_OnLoad(JavaVM* vm, void*) { JNIEnv *env; @@ -42,6 +46,16 @@ extern "C" jint JNI_OnLoad(JavaVM* vm, void*) { return JNI_ERR; } + if (android::modules::sdklevel::IsAtLeastT()) { + if (register_android_server_net_NetworkStatsFactory(env) < 0) { + return JNI_ERR; + } + + if (register_android_server_net_NetworkStatsService(env) < 0) { + return JNI_ERR; + } + } + return JNI_VERSION_1_6; } diff --git a/tests/unit/Android.bp b/tests/unit/Android.bp index fde7bac4fd..eaceb9a171 100644 --- a/tests/unit/Android.bp +++ b/tests/unit/Android.bp @@ -167,6 +167,7 @@ android_test { "services.net", ], jni_libs: [ + "libandroid_net_connectivity_com_android_net_module_util_jni", "libservice-connectivity", "libandroid_net_connectivity_com_android_net_module_util_jni", ],