#!/bin/bash # DEFINES LUNCH_TYPE=generic-eng # GET SCRIPT LOCATION DIR=`pwd` BRANCH=(`cd $(dirname ${BASH_SOURCE[0]})/../../.. && pwd`) cd $DIR # Usage info show_help() { echo " Usage: ${0##*/} [HELP] [DEVICE] Quickly switch to a specified device -h, -?, --help display this help message <blank> list currently attached devices DEVICE system switches to first device that matches this term Example: ./sdv prints all connected devices ./sdv angler switches to first angler ./sdv ang switches to first angler device ./sdv vol switches to volantis ./sdv 6P switches to Nexus 6P ./sdv 8X switches to first matching device (eg. 8XV5T15725000936) " echo } # help message if [[ ( $1 == "--help" ) || ( $1 == "-h" ) || ( $1 == "-?" ) ]]; then show_help return fi # if adb is not available, try to set it up if [ ! `which adb` ]; then echo "\"adb\" not setup. Using branch \"$BRANCH\" and lunch type \"$LUNCH_TYPE\"" DIR=`pwd` cd $BRANCH . build/envsetup.sh > /dev/null lunch $LUNCH_TYPE > /dev/null cd $DIR fi # get devices... if [ $# -eq 0 ]; then adb devices -l echo "Currently set to \"$ANDROID_SERIAL\"" # ...or switch to specified device else STR=(`adb devices -l | grep "$1"`) if [ ${#STR[@]} -gt 0 ]; then export ANDROID_SERIAL="$STR" echo "Switched to device \"$ANDROID_SERIAL\"" else echo "Device \"$1\" not found" fi fi