1
0
mirror of https://github.com/google/adb-sync.git synced 2026-01-03 01:48:02 +00:00
Files
adb-sync/adb-channel
2017-04-12 16:46:44 -04:00

35 lines
820 B
Bash
Executable File

#!/bin/sh
set -e
remote=${1}
activity=${2}
delay=${3}
case "${EXPERIMENTAL_ADB_CHANNEL_TCP_PORT}" in
'')
t=`mktemp -d -t adb-channel.XXXXXX`
adb_sock=localfilesystem:"${t}/sock"
socat_sock=unix:"${t}/sock"
atexit() {
[ -z "${activity}" ] || adb shell am force-stop ${activity%%/*}
adb forward --remove "${adb_sock}"
rm -rf "${t}"
}
trap atexit EXIT
;;
*)
echo >&2 "WARNING: this ADB channel is open to everyone on this computer."
adb_sock=tcp:"${EXPERIMENTAL_ADB_CHANNEL_TCP_PORT}"
socat_sock=tcp:localhost:"${EXPERIMENTAL_ADB_CHANNEL_TCP_PORT}"
;;
esac
trap 'exit 0' HUP INT ALRM TERM
[ -z "${activity}" ] || adb shell am start -W ${activity}
[ -z "${delay}" ] || sleep "${delay}"
adb forward "${adb_sock}" "${remote}"
socat stdio "${socat_sock}"