Add support for multiple GKI versions on VM

virt apex can now have multiple GKI versions for microdroid. Here are
behavior changes.

- OS name with "microdroid_gki-{ver}" is used to specify GKI.
- vm info shows available versions.
- gki option of vm tool gets a parameter, e.g. "--gki 6.1".

Some codes are refactored.

- Android.bp: defaults modules are added for deduplication.
- sign_virt_apex.py: gki_versions are added to remove hard-coded
  version (6.1).

Bug: 302465542
Test: vm info, vm run-microdroid --gki 6.1
Test: sign_virt_apex_test
Change-Id: I443a9e5a98d20d3c9337f2c13156590b4538c90b
diff --git a/vm/src/run.rs b/vm/src/run.rs
index 44ba9af..8721e71 100644
--- a/vm/src/run.rs
+++ b/vm/src/run.rs
@@ -111,8 +111,11 @@
         }
         Payload::ConfigPath(config_path)
     } else if let Some(payload_binary_name) = config.payload_binary_name {
-        let os_name =
-            if config.microdroid.gki() { "microdroid_gki" } else { "microdroid" }.to_owned();
+        let os_name = if let Some(ver) = config.microdroid.gki() {
+            format!("microdroid_gki-{ver}")
+        } else {
+            "microdroid".to_owned()
+        };
         Payload::PayloadConfig(VirtualMachinePayloadConfig {
             payloadBinaryName: payload_binary_name,
             osName: os_name,