• 可显示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。

         效果如下图所示。

    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与驱动开发》提供。

  • 相关阅读:
    python
    springboot-mybatis-pagehelper(分页插件)
    图片验证码工具类
    http工具类
    page工具类
    生成count位随机数工具类
    日期工具类
    dozer工具类
    list自定义排序工具类
    fastJson工具类
  • 原文地址:https://www.cnblogs.com/nokiaguy/p/4470397.html
Copyright © 2020-2023  润新知