Merge "Revert^2 "Build dex2oatd with compile_multilib: both.""
diff --git a/dex2oat/Android.bp b/dex2oat/Android.bp
index 3a2ae75..6a4a88e 100644
--- a/dex2oat/Android.bp
+++ b/dex2oat/Android.bp
@@ -308,8 +308,20 @@
             shared_libs: [
                 "libz",
             ],
+            compile_multilib: "both",
         },
     },
+
+    multilib: {
+        lib32: {
+            suffix: "32",
+        },
+        lib64: {
+            suffix: "64",
+        },
+    },
+
+    symlink_preferred_arch: true,
 }
 
 cc_defaults {
diff --git a/test/etc/run-test-jar b/test/etc/run-test-jar
index b35a43a..50d5fee 100755
--- a/test/etc/run-test-jar
+++ b/test/etc/run-test-jar
@@ -22,7 +22,8 @@
 DEBUGGER_AGENT=""
 WRAP_DEBUGGER_AGENT="n"
 DEV_MODE="n"
-DEX2OAT=""
+DEX2OAT_NDEBUG_BINARY="dex2oat"
+DEX2OAT_DEBUG_BINARY="dex2oatd"
 EXPERIMENTAL=""
 FALSE_BIN="false"
 FLAGS=""
@@ -227,6 +228,11 @@
         shift
         USE_ZIPAPEX="y"
         ZIPAPEX_LOC="$1"
+        # TODO (b/119942078): Currently apex does not support
+        # symlink_preferred_arch so we will not have a dex2oatd to execute and
+        # need to manually provide
+        # dex2oatd64.
+        DEX2OAT_DEBUG_BINARY="dex2oatd64"
         shift
     elif [ "x$1" = "x--no-prebuild" ]; then
         PREBUILD="n"
@@ -789,9 +795,9 @@
     app_image="--base=0x4000 --app-image-file=$DEX_LOCATION/oat/$ISA/$TEST_NAME.art"
   fi
 
-  dex2oat_binary=dex2oatd
+  dex2oat_binary=${DEX2OAT_DEBUG_BINARY}
   if  [[ "$TEST_IS_NDEBUG" = "y" ]]; then
-    dex2oat_binary=dex2oat
+    dex2oat_binary=${DEX2OAT_NDEBUG_BINARY}
   fi
   dex2oat_cmdline="$INVOKE_WITH $BIN_DIR/$dex2oat_binary \
                       $COMPILE_FLAGS \