Mac 使用shell执行adb截图&备份当前应用

440 阅读1分钟
#!/bin/bash

echo 开始备份打开的应用 $1

adb shell dumpsys window | grep mCurrentFocus > current_apkinfo.txt

while read -r line
do
  if [[ $line =~ Window ]];
  then
    class_name=${line##*/};
    class_name=${class_name%}}
    package_name=${line##*u0 };
    package_name=${package_name%/*}
  fi
done < current_apkinfo.txt
rm -f current_apkinfo.txt

echo 包名: $package_name
echo 类名: $class_name

adb shell screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png
adb shell rm /sdcard/screenshot.png
screenshot_png_name=$1_$class_name_`date +%Y%m%d%H%M%S`.png
mv screenshot.png $screenshot_png_name
echo -e "\033[2A"
echo -e "\033[K"
echo -e "\033[2A"
echo 当前页面已截图:$screenshot_png_name

apk_path=`adb shell pm path $package_name`
apk_path=${apk_path##*:}
adb pull $apk_path
apkname=$1_$package_name.apk
mv base.apk $apkname
echo -e "\033[2A"
echo -e "\033[K"
echo -e "\033[2A"
echo 备份完成: $apkname
open ./$apkname -R