Put ro.product.cpu.abi

The system property value is determined at build-time.

Bug: 188513012
Test: atest MicrodroidHostTestCases
Change-Id: I874d1edd04631bca4cdbfbda81855835100812f2
diff --git a/microdroid/Android.bp b/microdroid/Android.bp
index 98b2f98..435557e 100644
--- a/microdroid/Android.bp
+++ b/microdroid/Android.bp
@@ -113,9 +113,31 @@
     name: "microdroid_build_prop",
     filename: "build.prop",
     src: "build.prop",
+    arch: {
+        x86_64: {
+            src: ":microdroid_build_prop_gen_x86_64",
+        },
+        arm64: {
+            src: ":microdroid_build_prop_gen_arm64",
+        },
+    },
     installable: false,
 }
 
+genrule {
+    name: "microdroid_build_prop_gen_x86_64",
+    srcs: ["build.prop"],
+    out: ["build.prop.out"],
+    cmd: "cp $(in) $(out); echo ro.product.cpu.abilist=x86_64 >> $(out)",
+}
+
+genrule {
+    name: "microdroid_build_prop_gen_arm64",
+    srcs: ["build.prop"],
+    out: ["build.prop.out"],
+    cmd: "cp $(in) $(out); echo ro.product.cpu.abilist=arm64-v8a >> $(out)",
+}
+
 android_filesystem {
     name: "microdroid_vendor",
     use_avb: true,
diff --git a/tests/hostside/java/android/virt/test/MicrodroidTestCase.java b/tests/hostside/java/android/virt/test/MicrodroidTestCase.java
index ea1cf7c..94edf0b 100644
--- a/tests/hostside/java/android/virt/test/MicrodroidTestCase.java
+++ b/tests/hostside/java/android/virt/test/MicrodroidTestCase.java
@@ -178,14 +178,16 @@
                 executeCommandOnMicrodroid("shell mount"),
                 containsString("zipfuse on /mnt/apk type fuse.zipfuse"));
 
-        final String libPath = "/mnt/apk/lib/x86_64/MicrodroidTestNativeLib.so";
-        assertThat(
-                executeCommandOnMicrodroid("shell ls " + libPath),
-                is(libPath));
+        final String[] abiList =
+                executeCommandOnMicrodroid("shell getprop ro.product.cpu.abilist").split(",");
+        assertThat(abiList.length, is(1));
+
+        final String libPath = "/mnt/apk/lib/" + abiList[0] + "/MicrodroidTestNativeLib.so";
+        assertThat(executeCommandOnMicrodroid("shell ls " + libPath), is(libPath));
 
         assertThat(
-                executeCommandOnMicrodroid("shell /system/bin/microdroid_launcher " + libPath
-                    + " arg1 arg2"),
+                executeCommandOnMicrodroid(
+                        "shell /system/bin/microdroid_launcher " + libPath + " arg1 arg2"),
                 is("Hello Microdroid " + libPath + " arg1 arg2"));
 
         // Shutdown microdroid