Screenshots unter Android

Das Erstellen von Bildschirmfotos (Screenshots) ist in Android eine Kunst für sich – und bei Android x86 nochmals um ein paar Klimmzüge komplexer. Der Beitrag skizziert, was man wissen sollte.


Anzeige

Besitzer mancher Android-Geräte sind natürlich fein raus. Da hat der Hersteller des ROMs bereits eine entsprechende Funktion integriert. Dann reicht es, bestimmte Tasten zu drücken (sollte im Handbuch stehen), um den Screenshot anzufertigen und auf der SD-Karte abzulegen. Der Beitrag hier skizziert dies (Back-Taste gedrückt halten und auf die Home-Taste drücken). In den meisten Fällen ist dieses Feature bei Android-Geräten aber nicht verfügbar.

How-To: Apps und Root-Rechte erforderlich

Zum Erstellen von Screenshots lässt sich einmal eine USB-Verbindung zwischen Rechner und Android-Gerät einrichten und dann der Android Debug Monitor nutzen. Der Weg ist hier und hier beschrieben. Ist natürlich blöd bei einem Netbook, denn da ist ein USB-Link-Kabel erforderlich (hab ich nicht und hab daher das auch nicht getestet).

Die etwas elegantere Lösung besteht in der Verwendung von Screenshot-Apps, die sich aus dem Android-Market beziehen lassen. Der Beitrag hier beschreibt zwei solcher Apps. Auch dieses How-To skizziert die Ansätze.

In diesem Beitrag werden vier Apps vorgestellt, mit denen sich Screenshots erstellen lassen. Die app Screenshot It! soll dabei nicht einmal Root-Rechte erfordern. Die Apps Screenshot, PicMe und ShootMe sind sogar frei, benötigen aber root.

Da der Android-Market bei Android x86 nicht funktioniert, empfiehlt sich, nach Begriffen wie “Screenshot .apk” oder “Screenshot it .apk” zu suchen. Ich habe einige .apk-Dateien gefunden, mit denen sich das Ganze testen lässt. Einfach die .apk-Datei herunterladen und dann installieren.


Werbung

Einige Apps musste ich aussortieren, weil sie sich nicht bedienen ließen (ein Shake-Sensor oder eine Foto-Taste gibt es bei meinem Android Selbstbau Netbook nicht). Ganz gut gefällt mir die App “Screen Capture” sowie die App “Screen Shot It”. Beide verankern sich nach dem Start als Symbol in der Kopfzeile des Android Desktop. Zieht man die Kopfzeile nach unten, finden sich Optionen, um einen zeitverzögerten Screenshot auszulösen. Bei “Screen Shot It” gibt es zudem eine Menge einstellbarer Optionen.

Die App “No Root Sreenshot It” ist dagegen eine Mogelpackung. Kaum startet man die App, erscheinen Infobildschirme, wie man sein Android-Gerät rootet. Bei Androd x86 ist das aber nicht erforderlich, wie die beiden von mir getesteten Apps “Screen Capture” und “Screen Shot It” zeigten.

Aber dat klappt bei Android x86 nicht …

Die Screenshot Apps “Screen Capture” und “Screen Shot It” ließen sich mittels heruntergeladener .apk-Dateien problemlos installieren und danach aufrufen. Es wurden offenbar auch Screenshots ausgeführt und dann auf die SD-Speicherkarte gespeichert. Allein, das half mir nicht weiter, denn diese Fotos waren allesamt schwarz.

Nach etwas Recherche bin ich dann auf die Antwort von Chih-Wei Huang (weit verbreiteter Familienname) gestoßen, der die Android-x86 ISOs erstellt. Es ging zwar um das Anfertigen von Screenshots per ADB (Android Debugger), aber die Antwort ist auch für die Screenshot-Apps gültig. Der schwarze Screenshot kommt daher, dass bei Android x86 eine OpenGL-Hardwarebeschleunigung verwendet wird. Offenbar nutzt man einen third-party Videotreiber, der andere Speicherbereiche als der Framebuffer verwendet.  Die Screenshot-App liest also einen nicht benutzten Speicherbereich mit dem vermeintlichem Screen aus – was aber den schwarzen Bildschirm ergibt.

Anmerkung: Wer in einer Suchmaschine nach “OpenGL Screenshot” sucht, wird auf einige Treffer stoßen (1, 2, 3, 4, 5), die den erforderlichen Code beschreiben. Dies nutzt einem Android-Anwender aber nichts, da er keine Apps entwickelt. Und die typischen Android Screen Shot-Apps holen sich nur den Inhalt des Framebuffers, und wissen nichts von der OpenGL-Hardwarebeschleunigung in Android x86.

Bleibt noch die Frage, wie man aus dieser misslichen Lage herauskommt. Die Antwort von Chih-Wei Huang lautet, einfach die OpenGL-Hardwarebeschleunigung deaktivieren. Sobald das Grub Bootmenü erscheint, ist die Taste e zu drücken. Dann gelangt man in den nachfolgend gezeigten Modus, in dem der Grub-Befehl zum Booten gezeigt wird.

Nun muss erneut die Taste e gedrückt werden, um den Grub Menüeintrag editieren zu können.

Geben Sie nun den Befehl HWACCEL=0 ein und drücken Sie die Eingabetaste, um den Befehl abzuschließen. Das Gleichheitszeichen finden Sie (wg. der englischen Tastaturbelegung von Android x86 auf der Apostrop-Taste ´).

Mit dieser Anweisung startet Android ohne die OpenGL-Hardwarebeschleunigung und angefertigte Screenshots sollten nun den Bildschirminhalt aus dem Framebuffer aufweisen. Der Nachteil dieses Ansatzes: Durch die fehlende Hardwarebeschleunigung wird das Ganze in der Bedienung so langsam, dass es für den Arbeitseinsatz ungeeignet ist. Für die Screenshots in den Blog-Beiträgen habe ich daher einen anderen Ansatz gewählt. Muss dieser am Netbook angefertigt werden, schieße ich ein Foto mittels einer Digitalkamera. Die restlichen Screenshots schieße ich von der virtuellen Maschine unter Virtualbox. Hier kann ich auf dem Windows-Host das Programm PaintShop Pro zeitgesteuert ausführen und dann den Fensterinhalt der VM aufnehmen lassen. Die Tastenkombination Alt+Druck funktioniert bei Windows in Verbindung mit Virtualbox leider nicht.

Wird Zeit, dass ich mir von Pearl mal eine Teststellung des neuen Touchlet X4 Tablet PC schicken lasse (ab 10. 8. 2011 verfügbar), um aus den Restriktionen von Android x86 raus zu kommen. Aber das ist eine andere Geschichte, über die ich (nach Eintreffen der Teststellung) wohl separat bloggen werde.


Anzeige
Dieser Beitrag wurde unter Android, Tablet PC, Tipps abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.