1. 程式人生 > >一個Linux下的adb 安卓截圖指令碼

一個Linux下的adb 安卓截圖指令碼

最近在真機除錯安卓,由於每次截圖儲存到電腦都要adb shell、adb pull,並且由於用的同一個命名導致後面的截圖會把前面的覆蓋掉,非常麻煩,因此寫了一個Linux下的通用指令碼,明顯提高了效率。

由於某些軟體不支援檔名帶冒號“:“,所以加了引數判斷來生成不同格式的檔名。

記錄一下。

#!/bin/bash

if [ $# -eq 0 ];
    then
    NAME=$(date +%Y%m%d_%H%M%S).png
elif [ $1 = "-c" ]                 # colon
    then
    NAME=$(date +%Y%m%d_%H:%M:%S).png
elif [ $1 = "-h" ]                 # hyphen
    then
    NAME=$(date +%Y%m%d_%H-%M-%S).png
else
    echo -e "\033[31m *Invalid argument.\n *Usage '$0 -[ch]' \033[0m"
    exit 1
fi
    
adb shell /system/bin/screencap -p /sdcard/$NAME
adb pull /sdcard/$NAME ~/Pictures/

# the '[' and ']' should have space with left and right
if [ $? -eq 0 ]
	then
	echo -e "\033[32m *Screenshot save successfully.\n *The Path is ~/Pictures/${NAME} \033[0m"
	else
	echo -e "\033[31m *Screenshot save failed \033[0m"
fi


高亮不太好,截個圖吧:


直接執行./screenshot.sh進行截圖,截圖失敗提示紅色,成功提示綠色:

可選引數-c 使用冒號格式,-h 使用短橫線格式