转载

可显示Android设备选择列表,并进入指定Android设备Console的Shell脚本

如果PC上连接多部Android设备(包括Android模拟器),在进入Console时还需要使用adb -s deviceid shell。比较麻烦,本文为此编写了一个Shell脚本文件(需要在Linux或OS X下才能使用,windows下需要用bat或cmd从新编写)。基本思路时先用adb devices命令扫描有多少Android设备连接到PC上,然后从返回值中截取设备名称,并显示一个菜单。最后用户可以选择菜单项前面的序号进入指定的Android设备。无需再输入deviceid。

效果如下图所示。

可显示Android设备选择列表,并进入指定Android设备Console的Shell脚本

common.sh

selected_device=""  #  "":无可用Android设备 function find_devices() {  device_list=$(adb devices)   if [ "${device_list:0:4}" != "List" ]; then   device_list=$(adb devices)   if [ "${device_list:0:4}" != "List" ]; then   exit    fi   fi  value=$(echo $device_list | cut -d' ' -f5)  if [ "$value" == "" ]; then   echo "无可用Android设备"  else    selected_device=$value   # 假设只有1个设备   value=$(echo $device_list | cut -d' ' -f7)   #  多个设备   if [ "$value" != "" ]; then      i=5      index=1      value="~~~"      echo "可用设备列表"      while [ "" == "" ]      do         value=$(echo $device_list | cut -d' ' -f$i)     let "i=$i+2"     if [ "$value" == "" ]; then      break;     fi     echo "$index: $value"     let "index=$index+1"      done          read -p "您想选择哪个Android设备?请输入序号(1):" number      if [ "$number" == "" ]; then      number=1      fi      let "number=3 + $number * 2"      selected_device=$(echo $device_list | cut -d' ' -f$number)  # 根据用户选择的设备索引获取设备标识   fi  fi } 

shell.sh

source common.sh find_devices if [ "$selected_device" != "" ]; then         adb -s $selected_device shell $1 fi

需要将common.sh和shell.sh文件放到同一个目录,然后执行shell.sh即可(需要使用chmod命令设置其可执行权限)

本脚本由 《Android深入探索卷1:HAL与驱动开发》 提供。

正文到此结束
Loading...