可显示Android设备选择列表,并进入指定Android设备Console的Shell脚本
16lz
2021-12-04
如果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与驱动开发》 提供。
更多相关文章
- 【译】Design For Maturing Android-为日渐成熟的Android做设计
- Android的ADB工具使用
- windows 下adb不能找到Android设备
- 自动 Android* 应用测试
- 《Android(安卓)串口驱动回眸:andriod虚拟机与串口调试精灵通讯》
- Android(安卓)应用程序查找设备的方法——以串口为例
- Android存在安全缺陷:可被黑客窃听和监视
- Android配置蓝牙键值
- AllJoyn+Android开发案例-android跨设备调用方法