Linux und Ich

Blog über Ubuntu, Linux, Android und IT

android-scrot

android-scrot schießt Screenshots per adb vom Terminal aus

| 6 Kommentare

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.

$ android-scrot
Please connect your phone and activate USB-Debugging
android_12-02-2014_13-10-57.png saved
$ android-scrot
android_12-02-2014_13-11-17.png saved
$ android-scrot linuxundich
linuxundich_12-02-2014_13-11-26.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.

android-scrot erstellt Handy-Screenshots über das Linux-Terminal.

android-scrot erstellt Handy-Screenshots über das Linux-Terminal.

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.

$ 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://raw2.github.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

Autor: Christoph

Hallo, ich bin Christoph -- Linux-User, Blogger und pragmatischer Fan freier Software. Wie Ihr ohne Zweifel bemerkt haben solltet schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen, sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Google+ oder Twitter oder natürlich dem Blog folgen.

6 Kommentare

  1. 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.

  2. 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

  3. Wenn du Zeit und Lust hast kannst du ja für Arch ein PKGBUILD machen :)
    würde mich freuen

Hinterlasse eine Antwort

Auf Linux und Ich darf anonym kommentiert werden. Die Felder für Name und E-Mail-Adresse dürfen beim Eintragen eures Kommentars leer bleiben. Ich freue mich aber über jeden Kommentar, zu dem der Autor mit seinem Namen steht.