Microdroid is built using android_system_image module type

The new module type is capable of creating linker.config.pb file out of
the input json file and the other files in the same filesystem.

Bug: 181093750
Test: m microdroid
Change-Id: I554b9e97c974a4b15a70f760b9d7c5bb529967b9
diff --git a/microdroid/Android.bp b/microdroid/Android.bp
index 564348b..2558dd4 100644
--- a/microdroid/Android.bp
+++ b/microdroid/Android.bp
@@ -32,7 +32,7 @@
     },
 ]
 
-android_filesystem {
+android_system_image {
     name: "microdroid",
     use_avb: true,
     avb_private_key: ":avb_testkey_rsa4096",
@@ -58,7 +58,6 @@
         "tombstoned",
         "cgroups.json",
         "public.libraries.android.txt",
-        "microdroid_linker_config",
 
         "plat_sepolicy_and_mapping.sha256",
     ] + microdroid_shell_and_utilities,
@@ -76,6 +75,7 @@
             ],
         },
     },
+    linker_config_src: "linker.config.json",
     base_dir: "system",
     dirs: microdroid_rootdirs,
     symlinks: microdroid_symlinks,
@@ -386,21 +386,3 @@
     src: "linker.config.json",
     installable: false,
 }
-
-genrule {
-    name: "microdroid_linker_config_gen",
-    tools: ["conv_linker_config"],
-    srcs: [
-        ":system_linker_config",
-        ":microdroid_system_provide",
-    ],
-    out: ["linker.config.pb"],
-    cmd: "$(location conv_linker_config) merge -o $(out) -i $(location :system_linker_config) -i $(location :microdroid_system_provide)",
-}
-
-prebuilt_etc {
-    name: "microdroid_linker_config",
-    src: ":microdroid_linker_config_gen",
-    filename: "linker.config.pb",
-    installable: false,
-}
diff --git a/microdroid/linker.config.json b/microdroid/linker.config.json
index c9c5611..fd90821 100644
--- a/microdroid/linker.config.json
+++ b/microdroid/linker.config.json
@@ -1,17 +1,20 @@
 {
-  // TODO(b/185391776): Automate the list for microdroid
-  "provideLibs": [
-    "libadbd_auth.so",
-    "libadbd_fs.so",
-    "libc.so",
-    "libcgrouprc.so",
-    "libdl.so",
-    "libdl_android.so",
-    "liblog.so",
-    "libm.so",
-    "libselinux.so",
-    "libstdc++.so",
-    "libvndksupport.so",
-    "libz.so"
+  "requireLibs": [
+    "libdexfile.so",
+    "libdexfiled.so",
+    "libnativebridge.so",
+    "libnativehelper.so",
+    "libnativeloader.so",
+    "libsigchain.so",
+    "libandroidicu.so",
+    "libicu.so",
+    "libicui18n.so",
+    "libicuuc.so",
+    "libnetd_resolv.so",
+    "libstatspull.so",
+    "libstatssocket.so",
+    "libadb_pairing_auth.so",
+    "libadb_pairing_connection.so",
+    "libadb_pairing_server.so"
   ]
-}
\ No newline at end of file
+}