צילום מסך באנדרויד דרך שורת הפקודה
ישנם מספר דרכים לבצע צילום מסך באנדרויד, בניגוד לגרסאות ישנות (לפני 4) היום האופציה כבר מובנת במערכת ההפעלה, לחיצה בו זמנית על Power + Vol Down – והתמונה תשמר לכם לתיקיה Screenshot, ואליה תוכלו לגשת דרך הגלריה.
לרוב אני מעדיף להעביר קבצים דרך ממשק ה-ADB עם Pull/Push, אז אם אפשר להעביר קבצים, אז למה לא גם לבצע צילום מסך … ?
דרך אחת היא להשתמש בפקודה – screencap
adb shell screencap -p /sdcard/screen.png adb pull /sdcard/screen.png adb shell rm /sdcard/screen.png
- השורה הראשונה מבצעת את הצילום מסך
- השניה מושכת את התמונה למחשב
- והשלישי מוחקת את התמונה מהמכשיר
עד כאן זה נחמד ועובד, אבל למה לעצור כאן ?
הפלט של screencap -h נותן מידע נוסף
~ # screencap -h usage: screencap [-hp] [-d display-id] [FILENAME] -h: this message -p: save the file as a png. -d: specify the display id to capture, default 0. If FILENAME ends with .png it will be saved as a png. If FILENAME is not given, the results will be printed to stdout.
אז מסתבר שניתן להעביר את התמונה ישירות למחשב אם נריץ את הפקודה בלי שם קובץ
adb shell screencap -p > cap.png
אך בפועל זה לא יעבוד, מגלגול קצר גילתי שאני לא היחיד שנתקל בבעיה הזאת – והיא נובעת מכך ש-adb מבצע המרה של שורות חדשות (LF) לפורמט של ווינדוס (CR+LF).
אז מה שאנחנו צריכים לעשות זה להעביר את הפלט דרך פילטר שמשנה חזרה את הסיומות לפורמט LF ונקבל את התמונה שלנו
adb shell screencap -p | sed -e "s/\r$//" > cap.png
טיפ נוסף על הדרך – הדלקת המסך דרך ה-CLI
adb shell input keyevent 26