• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #!/bin/bash
2 
3 
4 # DEFINES
5 LUNCH_TYPE=generic-eng
6 
7 # GET SCRIPT LOCATION
8 DIR=`pwd`
9 BRANCH=(`cd $(dirname ${BASH_SOURCE[0]})/../../.. && pwd`)
10 cd $DIR
11 
12 
13 # Usage info
14 show_help() {
15   echo "
16     Usage: ${0##*/} [HELP] [DEVICE]
17     Quickly switch to a specified device
18 
19     -h, -?, --help      display this help message
20     <blank>             list currently attached devices
21     DEVICE              system switches to first device that
22                         matches this term
23 
24     Example:
25       ./sdv             prints all connected devices
26       ./sdv angler      switches to first angler
27       ./sdv ang         switches to first angler device
28       ./sdv vol         switches to volantis
29       ./sdv 6P          switches to Nexus 6P
30       ./sdv 8X          switches to first matching device
31                         (eg. 8XV5T15725000936)
32   "
33   echo
34 }
35 
36 # help message
37 if [[ ( $1 == "--help" ) || ( $1 == "-h" ) || ( $1 == "-?" ) ]]; then
38   show_help
39   return
40 fi
41 
42 # if adb is not available, try to set it up
43 if [ ! `which adb` ]; then
44   echo "\"adb\" not setup. Using branch \"$BRANCH\" and lunch type \"$LUNCH_TYPE\""
45   DIR=`pwd`
46   cd $BRANCH
47   . build/envsetup.sh > /dev/null
48   lunch $LUNCH_TYPE > /dev/null
49   cd $DIR
50 fi
51 
52 # get devices...
53 if [ $# -eq 0 ]; then
54   adb devices -l
55   echo "Currently set to \"$ANDROID_SERIAL\""
56 # ...or switch to specified device
57 else
58   STR=(`adb devices -l | grep "$1"`)
59   if [ ${#STR[@]} -gt 0 ]; then
60     export ANDROID_SERIAL="$STR"
61     echo "Switched to device \"$ANDROID_SERIAL\""
62   else
63     echo "Device \"$1\" not found"
64   fi
65 fi
66 
67