Allow vendor code to link to libandroid_net.
This library contains only the multinetwork API, which is part
of the NDK and has long-term support. It is needed by any native
that wants to use network communications on a different network
than the default network, and thus is necessary for vendor code
such as IMS clients or carrier applications.
Bug: 37527489
Test: marlin builds and boots
Test: MultinetworkApiTest CTS tests passes
Change-Id: I2aa592d1d082aae410173adf2a09f6d1dd8092dc
Merged-In: I2aa592d1d082aae410173adf2a09f6d1dd8092dc
diff --git a/native/android/Android.bp b/native/android/Android.bp
index a89db32..14f6ed3 100644
--- a/native/android/Android.bp
+++ b/native/android/Android.bp
@@ -40,3 +40,10 @@
include_dirs: ["bionic/libc/dns/include"],
}
+
+llndk_library {
+ name: "libandroid_net",
+ export_include_dirs: ["include"],
+ symbol_file: "libandroid_net.map.txt",
+ unversioned: true,
+}
diff --git a/native/android/include/multinetwork.h b/native/android/include/multinetwork.h
new file mode 120000
index 0000000..f9d051a
--- /dev/null
+++ b/native/android/include/multinetwork.h
@@ -0,0 +1 @@
+../../../../native/include/android/multinetwork.h
\ No newline at end of file
diff --git a/native/android/libandroid_net.map.txt b/native/android/libandroid_net.map.txt
new file mode 100644
index 0000000..9b5a5a1
--- /dev/null
+++ b/native/android/libandroid_net.map.txt
@@ -0,0 +1,10 @@
+# These functions have been part of the NDK since API 24.
+# They are also all available to vendor code.
+LIBANDROID_NET {
+ global:
+ android_setsocknetwork; # vndk
+ android_setprocnetwork; # vndk
+ android_getaddrinfofornetwork; # vndk
+ local:
+ *;
+};