Für Android User muss ich immer wieder Screenshots von Android-Geräten und Apps erstellen. Im Prinzip geht das ja unter Android recht leicht, einfach nur An/Aus+VolumeDown gleichzeitig drücken, schon ist ein Screenshot gemacht. Doch um die Bilder vom Handy zu bekommen, muss man wieder extra rumwursteln. Besonders wenn MTP mal wieder rumzickt oder etwa der Bilderupload via Dropbox auf einem Testgerät noch nicht eingerichtet ist. Von daher habe ich mir mit android-scrot ein kleines Bash-Script gebaut. Es erstellt per adb den Screenshot, lädt ihn auf den Rechner und dreht das Bild gleich entsprechend der Orientierung des Handys.
Als zwingende Abhängigkeiten braucht android-scrot lediglich adb aus dem Android-SDK. Unter Debian und Ubuntu lässt sich das Tool über das Paket android-tools-adb aus den herkömmlichen Paketquellen recht einfach installieren. Bei Arch findet sich adb im AUR unter android-sdk-platform-tools. Andere Distributionen liefern das Android-SDK inzwischen eigentlich auch immer über ihre Paketquellen aus. Dazu braucht es noch optional imagemagick, um die Screenshots entsprechend der Ausrichtung des Handys zu drehen.
### Screenshot ohne Namen mit Timestamp erstellen... $ android-scrot Please connect your phone and activate USB-Debugging android_12-02-2014_13-10-57.png saved ### Der ADB-Daemon muss nur beim ersten Screenshot gestartet werden... $ android-scrot android_12-02-2014_13-11-17.png saved ### Screenshot mit Timestamp und Namen erstellen... $ android-scrot linuxundich linuxundich_12-02-2014_13-11-26.png saved ### Ihr könnt auch den Dateinamen direkt angeben, eine bestehende ### Datei gleichen Namens wird ohne Warnung überschrieben... $ android-scrot deine-app.png deine-app.png saved
Der Rest ist dann ziemlich simpel: Handy per USB-Kabel an den Rechner anschließen, das USB-Debugging in den Entwickleroptionen aktivieren und das Skript abfeuern. Als Eingangsparameter könnt ihr einen Namen übergeben, android-scrot übernimmt diesen dann als Vorspann für den Dateinamen des Screenshots.
Zur „Installation“ des Skripts muss ich wohl nicht viele Worte verlieren. Wer mit der Android-Debug-Bridge herumhantiert, der wird wohl auch ein simples Skript zum Laufen bekommen. Wer es aber rein gar nicht auf die Reihe bekommen, der möge sich bitte an folgenden Befehlen orientieren, sie sollten das Skript unter Debian und Ubuntu einrichten. [UPDATE 09.01.2015: Sollte das Herunterladen des Skripts mittels wget einmal nicht mehr klappen, dann hat Github mal wieder etwas an den URLs geändert. Ihr bekommt das Skript natürlich jederzeit über die Github-Seite, müsst es aber dann natürlich selber an die richtige Stelle schieben.]
$ sudo apt-get install android-tools-adb imagemagick $ adb devices # Prüfen, ob Handy erkannt wird List of devices attached 0146970C0601500A device $ mkdir ~/bin $ wget https://raw.githubusercontent.com/linuxundich/android-scrot/master/android-scrot -O ~/bin/android-scrot $ chmod +x ~/bin/android-scrot $ android-scrot android_12-02-2014_13-29-18.png saved
Hi.
Kleiner Tipp: man kann ADB auch per Wlan verwenden. So muss man das Handy nicht per USB Kabel mit dem Computer verbinden, nur im gleichen Wlan Netz sein.
Hi, cooler Tipp, danke!
Es gibt ein Problem mit „adb get-state“, wenn der adb Daemon noch nicht läuft (also beim ersten Aufruf), was dazu führt, dass das Bashscript meckert:
$ android-scrot
/home/otto/bin/android-scrot: Zeile 38: [: Zu viele Argumente.
android_12-02-2014_15-15-19.png saved
$ adb kill-server
$ adb get-state
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
device
Ah, guter Hinweis. Ich lasse den adb-daemon bei mir per Dienst starten. Ich baue da was ein.
Hab nen Check eingebaut, android-scrot startet bei Bedarf den adb daemon.
Wenn du Zeit und Lust hast kannst du ja für Arch ein PKGBUILD machen 🙂
würde mich freuen
Da muss ich mich noch reinfuxen 😉
Hallo!
Die Adresse https://raw2.github.com/linuxundich/android-scrot/master/android-scrot scheint nicht mehr gültig zu sein!?
Gruß,
duese
Hi Düse, die Kommandos im Artikel sind nur zur Bequemlichkeit. Du bekommst das Skript auch direkt von Github… https://github.com/linuxundich/android-scrot/blob/master/android-scrot Musst es dann allerdings selber auf deinem System einrichten. Ich aktualisiere den Artikel schnell.