可顯示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與驅動開發》提供。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM