2017-06-12 4 views
0

Mit meiner App kann der Benutzer einen Screenshot erstellen, den er dann an den Server sendet.Android - Wie Emulator Screenshot über Emulator zugreifen?

Auf einem echten Gerät werden die Screenshots bei /storage/emulated/0/Pictures/Screenshots/ gespeichert, so dass es in Ordnung ist.

Aber auf dem Emulator, wenn ich die Screenshot erstellen Schaltfläche klicken (die im Panel neben dem Emulator befindet), wird der Screenshot zu meinem Computer gespeichert, aber ich kann es nicht überall in der Datei Emulator finden System - das Verzeichnis /storage/emulated/0/Pictures/ existiert, das Unterverzeichnis /storage/emulated/0/Pictures/Screenshots/ jedoch nicht.

Gibt es eine Möglichkeit, auf das Screenshot Bild auf dem Emulator zuzugreifen, oder gibt es eine andere Möglichkeit, den Screenshot zu machen?

+1

Ich denke, die meisten Antworten bekommen Ihre Frage nicht. Sie suchen nach einer Möglichkeit, den Screenshot in den '/ storage/emulierten/0/Pictures/Screenshots' des Emulators selbst zu speichern, oder? Kannst du nicht die "Power + Volume Down" -Kombination auf dem Emulator verwenden? funktioniert es? – Daniele

+0

Danke, Daniele - aber wie klick ich beide Tasten gleichzeitig? –

+0

mit Hotkeys vielleicht? Ich weiß nicht genau, – Daniele

Antwort

2

Emulate Volume Down + Power Ereignis Android-Screenshot auslösen, dann Screenshot Bilder auf Emulators /storage/emulated/0/Pictures/Screenshots gespeichert werden.

Hier ist das Skript. Führen Sie adb shell aus, kopieren Sie dann den folgenden Code und führen Sie aus. Sie sollten sehen, dass der Emulator einen Screenshot erstellt.

cat > /data/local/tmp/screenshot.sh <<EOF 
#!/bin/sh 
echo 'volume key: down' 
sendevent /dev/input/event1 1 114 1 
echo 'power key: down' 
sendevent /dev/input/event1 1 116 1 
sendevent /dev/input/event1 0 0 0 
sleep 1 
echo 'volume key: up' 
sendevent /dev/input/event1 1 114 0 
echo 'power key: up' 
sendevent /dev/input/event1 1 116 0 
sendevent /dev/input/event1 0 0 0 
EOF 
sh /data/local/tmp/screenshot.sh 

HINWEIS: Das Eingabegerät meines Emulators ist "/ dev/input/event1", dies kann bei anderen Geräten anders sein.Sie können, indem Sie adb shell getevent Befehl das Gerät Informationen erhalten, dann den Schlüssel des Emulators drücken, wird die Ausgabe in etwa so sein wird (My Volume Down-Taste, sind diese Hex-Zahlen, so 0x0072 114d ist):

/dev/input/event1: 0001 0072 00000001 
/dev/input/event1: 0000 0000 00000000 
/dev/input/event1: 0001 0072 00000000 
/dev/input/event1: 0000 0000 00000000 
+0

Danke dafür. Ich bin nicht mit adb vertraut, aber ich habe es meinem Pfad nicht hinzugefügt und kann 'adb shell' ausführen - was ** generic_x86:/** anzeigt. Von diesem Punkt bin ich mir nicht sicher, wie man den Code einfügt. * Strg + C * funktioniert nicht und wenn ich versuche, den Code zeilenweise einzugeben, scheint nichts zu passieren. –

+0

@ ban-geoengineering Wenn Sie Windows verwenden, klicken Sie auf das Symbol oben links -> Bearbeiten-> Einfügen; Wenn Sie Linux verwenden, klicken Sie mit der rechten Maustaste, um das Kontextmenü anzuzeigen -> Einfügen. – wrkwrk

+0

Du bist ein Star! :-) Vielen Dank - funktioniert ein Vergnügen! –

2

Es wird in Ihrem PC speichern. Sie können den Speicherort der Screenshots auch über die Emulatoreinstellungen festlegen.

Bitte beachten Sie das folgende Bild als Referenz.

enter image description here

1

Es wird in Ihrem Gerät (PC) speichern, können Sie den Speicherort aus dem Emulator Einstellung anzuzeigen, klicken Sie auf mehr Symbol von der rechten Seite Ihres Emulator, und klicken Sie dann auf Einstellung

screen shot location

+0

Danke, aber der ** Screenshot-Speicherort ** ist der Dateipfad für meine Computer, nicht für den Emulator (?) –

+0

ja, es wird es auf Ihrem ** PC speichern ** –

0

Nehmen Sie einen Screenshot Auf vielen Android-Geräten können Sie einen Screenshot Witz erfassen h eine Tastenkombination: Gleichzeitiges Drücken und Halten von Power und Volume-Down. Sie können auch einen Screenshot mit Android Studio wie folgt aufnehmen:

Öffnen Sie Ihre App auf einem angeschlossenen Gerät oder Emulator. Wenn Sie ein angeschlossenes Gerät verwenden, vergewissern Sie sich, dass Sie das USB-Debugging aktiviert haben. Wählen Sie in Android Studio "Ansicht"> "Tool Windows"> "Android Monitor", um den Android Monitor zu öffnen. Wählen Sie das Gerät aus der Dropdownliste am oberen Rand des Fensters aus. Klicken Sie auf Bildschirmaufnahme auf der linken Seite des Fensters. Der Screenshot erscheint in einem Screenshot-Editor-Fenster.

https://developer.android.com/studio/debug/am-screenshot.html

Taking screenshot on Emulator from Android Studio

+1

Danke, aber es gibt immer noch keine Screenshot-Bilddatei, auf die über das Emulator-Dateisystem zugegriffen werden kann? –

0

Verwenden adb screencap Befehl an Ihr emuliertes Gerät. Dies sollte die Bildschirmaufnahme auf dem Gerät selbst speichern, damit Sie Ihre Anwendung testen können.