diff --git a/distrib/package-release.sh b/distrib/package-release.sh
index ac62573..a766937 100755
--- a/distrib/package-release.sh
+++ b/distrib/package-release.sh
@@ -151,6 +151,24 @@
   run ssh $HOST rm -rf $DST_DIR/$PKG_FILE_PREFIX
 }
 
+# Extract the git commit SHA1 of a given directory, and put its value
+# in a destination variable. If the target directory is not the root
+# of a git checkout, abort.
+# $1: Destination variable name.
+# $2: Git directory.
+# Example:   extract_commit_description GTEST_DESC "$GTEST_DIR"
+extract_git_commit_description () {
+    local VARNAME GIT_DIR SHA1
+    VARNAME=$1
+    GIT_DIR=$2
+    # Extract the commit description, then escape (') characters in it.
+    SHA1=$(cd $GIT_DIR && git log --oneline -1 .) || \
+        panic "Not a Git directory: $GIT_DIR"
+
+    SHA1=$(printf "%s" "$SHA1" | sed -e s/\'/\\\'/g)
+    eval $VARNAME=\"$SHA1\"
+}
+
 # Defaults.
 DEFAULT_REVISION=$(date +%Y%m%d)
 DEFAULT_PKG_PREFIX=android-emulator
@@ -172,6 +190,7 @@
 
 # Command-line parsing.
 DO_HELP=
+OPT_COPY_PREBUILTS=
 OPT_DARWIN_SSH=
 OPT_PKG_DIR=
 OPT_PKG_PREFIX=
@@ -184,6 +203,9 @@
         --help|-?)
             DO_HELP=true
             ;;
+        --copy-prebuilts=*)
+            OPT_COPY_PREBUILTS=${OPT##--copy-prebuilts=}
+            ;;
         --darwin-ssh=*)
             OPT_DARWIN_SSH=${OPT##--darwin-ssh=}
             ;;
@@ -240,13 +262,20 @@
 as well. You can also define ANDROID_EMULATOR_DARWIN_SSH in your
 environment to setup a default value for this option.
 
+Use --copy-prebuilts=<path> to specify the path of an AOSP workspace/checkout,
+and to copy 64-bit prebuilt binaries to <path>/prebuilts/android-emulator/
+for both Linux and Darwin platforms. This option requires the use of
+--darwin-ssh=<host> or ANDROID_EMULATOR_DARWIN_SSH to build the Darwin
+binaries.
+
 Valid options (defaults are inside brackets):
     --help | -?           Print this message.
     --package-dir=<path>  Change package output directory [$DEFAULT_PKG_DIR].
     --revision=<name>     Change revision [$DEFAULT_REVISION].
     --sources             Also create sources package.
     --system=<list>       Specify host system list [$DEFAULT_SYSTEMS].
-    --darwin-ssh=<host>   Specify remote Darwin host [$DEFAULT_DARWIN_SSH].
+    --copy-prebuilts=<path>  Copy 64-bit Linux and Darwin binaries to
+                             <path>/prebuilts/android-emulator/
 
 EOF
     exit 0
@@ -298,6 +327,18 @@
     SYSTEMS="$SYSTEMS darwin"
 fi
 
+if [ "$OPT_COPY_PREBUILTS" ]; then
+    if [ -z "$DARWIN_SSH" ]; then
+        panic "The --copy-prebuilts=<dir> option requires --darwin-ssh=<host>."
+    fi
+    TARGET_AOSP=$OPT_COPY_PREBUILTS
+    if [ ! -f "$TARGET_AOSP/build/envsetup.sh" ]; then
+        panic "Not an AOSP checkout / workspace: $TARGET_AOSP"
+    fi
+    TARGET_PREBUILTS_DIR=$TARGET_AOSP/prebuilts/android-emulator
+    mkdir -p "$TARGET_PREBUILTS_DIR"
+fi
+
 case $VERBOSE in
   0|1)
     REBUILD_FLAGS=""
@@ -348,17 +389,20 @@
     exit 1
 fi
 
+extract_git_commit_description QEMU_GIT_COMMIT "$QEMU_DIR"
 GTEST_DIR=$(dirname $QEMU_DIR)/gtest
 if [ ! -d "$GTEST_DIR" ]; then
   panic "Cannot find GoogleTest source directory: $GTEST_DIR"
 fi
 log "Found GoogleTest directory: $GTEST_DIR"
+extract_git_commit_description GTEST_GIT_COMMIT "$GTEST_DIR"
 
 EMUGL_DIR=$QEMU_DIR/../../sdk/emulator/opengl
 if [ ! -d "$EMUGL_DIR" ]; then
   panic "Cannot find GPU emulation source directory: $EMUGL_DIR"
 fi
 log "Found GPU emulation directory: $EMUGL_DIR"
+extract_git_commit_description EMUGL_GIT_COMMIT "$EMUGL_DIR"
 
 SOURCES_PKG_FILE=
 if [ "$OPT_SOURCES" ]; then
@@ -464,6 +508,46 @@
     PKG_FILE=$PKG_DIR/$PKG_PREFIX-$PKG_REVISION-$SYSTEM.tar.bz2
     (run cd "$TEMP_BUILD_DIR"/$SYSTEM && run tar cf $PKG_FILE $PKG_PREFIX-$PKG_REVISION)
 done
+if [ "$OPT_COPY_PREBUILTS" ]; then
+    for SYSTEM in linux darwin; do
+        SRC_DIR="$TEMP_BUILD_DIR"/$SYSTEM/$PKG_PREFIX-$PKG_REVISION
+        DST_DIR=$TARGET_PREBUILTS_DIR/$SYSTEM-x86_64
+        dump "[$SYSTEM-x86_64] Copying emulator binaries into $DST_DIR"
+        run mkdir -p "$DST_DIR" || panic "Could not create directory: $DST_DIR"
+        case $SYSTEM in
+            linux) DLLEXT=.so;;
+            darwin) DLLEXT=.dylib;;
+            *) panic "Unsupported prebuilt system: $SYSTEM";;
+        esac
+        FILES="emulator"
+        for ARCH in arm x86 mips; do
+            FILES="$FILES emulator64-$ARCH"
+        done
+        for LIB in OpenglRender EGL_translator GLES_CM_translator GLES_V2_translator; do
+            FILES="$FILES lib/lib64$LIB$DLLEXT"
+        done
+        (run cd "$SRC_DIR/tools" && tar cf - $FILES) | (cd $DST_DIR && tar xf -) ||
+                panic "Could not copy binaries to $DST_DIR"
+    done
+    cat > $TARGET_PREBUILTS_DIR/README <<EOF
+This directory contains prebuilt emulator binaries that were generated by
+running the following command on a 64-bit Linux machine:
+
+  external/qemu/distrib/package-release.sh \\
+      --darwin-ssh=<host> \\
+      --copy-prebuilts=<path>
+
+Where <host> is the host name of a Darwin machine, and <path> is the root
+path of this AOSP repo workspace.
+
+Below is the list of specific commits for each input directory used:
+
+external/gtest       $GTEST_GIT_COMMIT
+external/qemu        $QEMU_GIT_COMMIT
+sdk/emulator/opengl  $EMUGL_GIT_COMMIT
+
+EOF
+fi
 
 dump "Done. See $PKG_DIR"
 ls -lh "$PKG_DIR"/$PKG_PREFIX-$PKG_REVISION*
