Move AsynchronousCloseMonitor to its own library.

This change introduces a new shared library, libandroidio,
which encapsulates native IO related APIs that we want to expose,
currently only intra-core but longer term they may be useful
to the framework (e.g. LocalSocket and friends).

Bug: 122881655
Bug: 123744297
Test: m && flashall
Test: atest CtsLibcoreOkHttpTestCases
Test: atest CtsLibcoreTestCases

Change-Id: I4c903d86a41d9ad0337b8e9d17ff0ed129c52413
diff --git a/NativeCode.bp b/NativeCode.bp
index 9e68b07..c5341e0 100644
--- a/NativeCode.bp
+++ b/NativeCode.bp
@@ -56,6 +56,7 @@
         "dalvik/src/main/native/org_apache_harmony_dalvik_NativeTestTarget.cpp",
     ],
     shared_libs: [
+        "libandroidio",
         "libbase",
         "libcrypto",
         "libexpat",
@@ -79,6 +80,23 @@
     },
 }
 
+cc_library_shared {
+    name: "libandroidio",
+    defaults: [
+        "core_native_default_flags",
+    ],
+    shared_libs: [
+        "liblog",
+    ],
+    srcs: [
+        ":libandroidio_srcs",
+    ],
+    stubs: {
+        symbol_file: "libandroidio.map.txt",
+        versions: ["1"],
+    },
+}
+
 cc_defaults {
     name: "libopenjdk_native_defaults",
     defaults: [
@@ -101,9 +119,9 @@
     ],
 
     shared_libs: [
+        "libandroidio",
         "libcrypto",
         "libicuuc",
-        "libjavacore",
         "libnativehelper",
         "libz",
     ],