如果PC上连接多部Android设备(包括Android模拟器),在进入Console时还需要使用adb -s deviceid shell。比较麻烦,本文为此编写了一个Shell脚本文件(需要在Linux或OS X下才能使用,windows下需要用bat或cmd从新编写)。

基本思路时先用adb devices命令扫描有多少Android设备连接到PC上,然后从返回值中截取设备名称,并显示一个菜单。最后用户可以选择菜单项前面的序号进入指定的Android设备。无需再输入deviceid。

效果如下图所示。



源代码如下:

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" ]; thenexit            fi        fivalue=$(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)  #  根据用户选择的设备需要获取设备标识    fifi}

shell.sh

source common.shfind_devicesif [ "$selected_device" != "" ]; then        adb -s $selected_device shell $1    # 根据用户选择的设备进入Consolefi


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

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

更多相关文章

  1. 【译】Design For Maturing Android-为日渐成熟的Android做设计
  2. Android的ADB工具使用
  3. windows 下adb不能找到Android设备
  4. 自动 Android* 应用测试
  5. 《Android(安卓)串口驱动回眸:andriod虚拟机与串口调试精灵通讯》
  6. Android(安卓)应用程序查找设备的方法——以串口为例
  7. Android存在安全缺陷:可被黑客窃听和监视
  8. Android配置蓝牙键值
  9. AllJoyn+Android开发案例-android跨设备调用方法

随机推荐

  1. 关于文字颜色/图片背景---selector状态列
  2. Android中的动画详解系列【1】——逐帧动
  3. 2011.09.09(2)——— android 桌面添加快捷
  4. android 多点触控实例源码
  5. Android--ListView滑动时出现黑屏解决方
  6. An exisiting Android(安卓)SDK was dete
  7. 网络---《第一行代码Android》笔记
  8. android 常用代码备份
  9. Android+Junit单元测试1
  10. android 实现类似Iphone底部消息数量提示