#bin/bash
#android_log_page.sh
android_log_page=android_log_page
android_log_interval=3
echo "自动任务3秒钟抓取一次当前手机页面"
ehco "打开操作目录, 一共三步: "
mkdir -p ~/$android_log_page
open ~/$android_log_page
while true; do
activityNamePath=$(adb shell dumpsys activity activities | sed -n 's/.*mResumedActivity: ActivityRecord{[^ ]* [^ ]* \([^ ]*\) .*/\1/p' | sed 's/[./]/_/g' )
echo '一: 获取当前屏幕路径'
echo " "$activityNamePath
echo ""
echo '二: 获取当前屏幕布局'
activityNameRes=/sdcard/$android_log_page/$activityNamePath.xml
adb shell mkdir -p /sdcard/$android_log_page/
adb shell uiautomator dump $activityNameRes
adb pull $activityNameRes $android_log_page/$activityNamePath.xml
echo ""
activityTitle=$(grep -o 'text="[^"][^"]*[^"]"' $android_log_page/$activityNamePath.xml)
echo '三: 获取当前屏幕文本(一般情况下页面标题在前几个)'
echo "page:" $activityNamePath
echo ""
echo $activityTitle | sed 's/[ /]/\n/g'
rm -rf ~/$android_log_page/$activityNamePath.xml
rm -rf ~/$android_log_page/$activityNamePath.text
adb shell rm -rf $activityNameRes
echo $activityNamePath \n $activityTitle | sed 's/[ /]/\n/g' >> ~/$android_log_page/$activityNamePath.text
echo " "
echo "如果抓取完成, 请打开其他页面, $android_log_interval 秒继续抓取\n\n\n"
sleep $android_log_interval;
done