Ich benutze Genymotion zum Ausführen einer Android-Anwendung. Kann mir jemand sagen, wie man einen Screenshot in Genymotion aufnimmt ?
Ich benutze Genymotion zum Ausführen einer Android-Anwendung. Kann mir jemand sagen, wie man einen Screenshot in Genymotion aufnimmt ?
Antworten:
Haftungsausschluss: Ich bin Teil derselben Firma wie das Genymotion-Team.
Diese Funktion ist im Produkt enthalten. Dies ist eine der kostenpflichtigen Funktionen des Screencast-Widgets. Schauen Sie sich hier die Preisseite an .
Zwei Möglichkeiten, darauf zuzugreifen:
Öffnen Sie nach dem Start Ihrer VM das Screencast-Widget
Nehmen Sie dann mit der entsprechenden Taste ein Bild auf
UPDATE: Sie haben unten eine andere Möglichkeit, einen Screenshot mit Android Device Monitor oder der Befehlszeile zu erstellen
Wenn Sie Android Studio oder Eclipse verwenden, können Sie einfach auf die Schaltfläche "Screen Capture" im Android DDMS klicken:
Sie können adb verwenden, um den Screenshot über die Befehlszeile abzurufen:
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
Dieser Artikel enthält die Details: http://blog.shvetsov.com/2013/02/grab-android-screenshot-to-computer-via.html
Um mir das Leben zu erleichtern, habe ich in .bash_profile einen Alias erstellt:
alias screenshot="adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png"
Jetzt kann ich screenshot
Terminal eingeben und einen Screenshot des aktuell ausgeführten Emulators in meinem Download-Verzeichnis erhalten.
adb server is out of date. killing...
beim Versuch Fehler angezeigt. Ich habe es behoben, indem ich das adb
in Genymotion enthaltene verwendet habe:/Applications/Genymotion.app/Contents/MacOS/tools/adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png
Verwenden Sie diese Befehle:
Windows:
C:\"Program Files"\Genymobile\Genymotion\tools\adb shell screencap -p "/mnt/sdcard/output.png" && C:\"Program Files"\Genymobile\Genymotion\tools\adb pull "/mnt/sdcard/output.png" "C:\output.png" && C:\"Program Files"\Genymobile\Genymotion\tools\adb shell rm "/mnt/sdcard/output.png"
C:\output.png
. Andernfalls ändern Sie den gewünschten Pfad.OS X:
/Applications/Genymotion.app/Contents/MacOS/tools/adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Desktop/Android_Screenshot_$(date +%Y-%m-%d-%H-%M-%S).png
adb shell screencap -p "/mnt/sdcard/output.png" && adb pull "/mnt/sdcard/output.png" . && adb shell rm "/mnt/sdcard/output.png"
adb pull
in ein Verzeichnis, in dem Sie wirklich Schreibrechte haben, um sicherzustellen, dass dies funktioniert. Ansonsten ziemlich einfache und elegante Lösung, danke!
error: cannot connect to daemon: cannot connect to 127.0.0.1:5037 (10061)
Drücken Sie die unten beschriebene Tastenkombination
Windows: Strg + Umschalt + S.
Mac: Befehlstaste + Umschalttaste + S.
Sie finden Ihre Screenshots auf dem Desktop
Ich denke, Sie können auch kostenlos Videos aufnehmen. Genymotion verwendet VirtualBox, um fast das gesamte schwere Heben zu erledigen. Öffnen Sie daher VirtualBox und prüfen Sie, was Sie darin tun können.
In Virtualbox finden Sie Optionen zum Aufnehmen von Videos!
Oracle VM VirtualBox Manager
unter Windows 7 geöffnet und es sieht nicht nach
Wenn Ihr Mac langsam ist und Sie es hassen, Eclipse und den Emulator zusammen auszuführen, ist dies ein schnellerer Weg.
Dies ist eine gute Option für Benutzer langsamer Computer.
@Reck sagt, dass es einen Fehler in der Genymotion-Implementierung gibt, so dass wir in 2.3.7 keine Screenshots machen können. Dies bedeutet, dass Android Studio / DDMS nicht die richtigen Pixel erhalten kann. adb shell screencap
sagt, es gibt keinen screencap
Befehl.
Angenommen, Sie haben Zugriff auf den Code, können Sie diese Methode einfach aufrufen:
public static void screenshot(View view) {
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
view.draw(new Canvas(bitmap));
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
try {
File storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
storageDir.mkdirs();
File file = File.createTempFile(timeStamp, ".png", storageDir);
bitmap.compress(Bitmap.CompressFormat.PNG, 0, new FileOutputStream(file));
Log.i("SCREENSHOT", "adb pull " + file);
} catch (IOException e) {
Log.e("SCREENSHOT", "Cannot save screenshot of " + view, e);
}
}
In Aktivität:
screenshot(getWindow().getDecorView());
Im Fragment:
screenshot(getActivity().getWindow().getDecorView());
Die einzige mir bekannte Einschränkung ist, dass die Statusleiste nicht enthalten ist.
Mache ein Bildschirmfoto
Auf vielen Android-Geräten können Sie einen Screenshot mit einer Tastenkombination aufnehmen: Halten Sie gleichzeitig Power und Volume-Down gedrückt. Sie können einen Screenshot mit Android Studio auch wie folgt aufnehmen:
Führen Sie Ihre App auf einem angeschlossenen Gerät oder Emulator aus. Stellen Sie bei Verwendung eines angeschlossenen Geräts sicher, dass Sie das USB-Debugging aktiviert haben. Wählen Sie in Android Studio Ansicht> Tool Windows> Logcat, um Logcat zu öffnen. Wählen Sie das Gerät und einen Prozess aus der Dropdown-Liste oben im Fenster aus. Klicken Sie links im Fenster auf Screenshot. Der Screenshot wird in einem Screenshot-Editor-Fenster angezeigt
Es funktioniert sogar für Genymotion Emulator