可顯示Android設備選擇列表,并進入指定Android設備Console的Shell腳本
來源:程序員人生 發布時間:2015-08-14 09:16:49 閱讀次數:3073次
如果PC上連接多部Android裝備(包括Android摹擬器),在進入Console時還需要使用adb -s deviceid shell。比較麻煩,本文為此編寫了1個Shell腳本文件(需要在Linux或OS X下才能使用,windows下需要用bat或cmd重新編寫)。
基本思路時先用adb devices命令掃描有多少Android裝備連接到PC上,然后從返回值中截取裝備名稱,并顯示1個菜單。最后用戶可以選擇菜單項前面的序號進入指定的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 # 根據用戶選擇的裝備進入Console
fi
需要將shell.sh和common.sh放到同1個目錄,然后履行shell.sh腳本文件便可(不要忘記使用chmod命令設置其可履行權限)
本腳本由《Android深入探索卷1:HAL與驅動開發》提供。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈