Fix host_bcp.sh after output layout changes.

Test: host_bcp.sh system/framework/arm64/boot.oat
Test: host_bcp.sh $ANDROID_PRODUCT_OUT/system/framework/arm64/boot.oat
Bug: 135950104
Change-Id: If0f8c2fb8611558a16f7329dd4bb40acfdf047a8
diff --git a/tools/host_bcp.sh b/tools/host_bcp.sh
index 65a48bf..205470a 100755
--- a/tools/host_bcp.sh
+++ b/tools/host_bcp.sh
@@ -29,9 +29,9 @@
 
 IMAGE=$1
 if [[ ! -e ${IMAGE} ]]; then
-  IMAGE=${ANDROID_PRODUCT_OUT}$1
+  IMAGE=${ANDROID_PRODUCT_OUT}/$1
   if [[ ! -e ${IMAGE} ]]; then
-    echo "Neither $1 nor ${ANDROID_PRODUCT_OUT}$1 exists."
+    echo "Neither $1 nor ${ANDROID_PRODUCT_OUT}/$1 exists."
     exit 1
   fi
 fi
@@ -42,9 +42,11 @@
   exit 1
 fi
 
+MANIFEST=/apex_manifest.json
 RUNTIME_APEX=/apex/com.android.runtime
 RUNTIME_APEX_SELECTED=
-for d in `ls -1 -d ${ANDROID_PRODUCT_OUT}${RUNTIME_APEX}* 2>/dev/null`; do
+for m in `ls -1 -d ${ANDROID_PRODUCT_OUT}{,/system}${RUNTIME_APEX}*${MANIFEST} 2>/dev/null`; do
+  d=${m:0:-${#MANIFEST}}
   if [[ "x${RUNTIME_APEX_SELECTED}" != "x" ]]; then
     echo "Multiple Runtime apex dirs: ${RUNTIME_APEX_SELECTED}, ${d}."
     exit 1
@@ -66,6 +68,10 @@
     HEAD=${RUNTIME_APEX_SELECTED}
     TAIL=${COMPONENT:${#RUNTIME_APEX}}
   fi
+  if [[ ! -e $HEAD$TAIL ]]; then
+    echo "File does not exist: $HEAD$TAIL"
+    exit 1
+  fi
   BCP="${BCP}:${HEAD}${TAIL}"
 done
 IFS=${OLD_IFS}