標籤:
如果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.shfind_devicesif [ "$selected_device" != "" ]; then adb -s $selected_device shell $1fi
需要將common.sh和shell.sh檔案放到同一個目錄,然後執行shell.sh即可(需要使用chmod命令設定其可執行許可權)
本指令碼由《Android深入探索卷1:HAL與驅動開發》提供。
可顯示Android裝置挑選清單,並進入指定Android裝置Console的Shell指令碼