Estoy usando Genymotion para ejecutar la aplicación de Android. ¿ Alguien podría decirme cómo capturar una captura de pantalla en Genymotion ?
Estoy usando Genymotion para ejecutar la aplicación de Android. ¿ Alguien podría decirme cómo capturar una captura de pantalla en Genymotion ?
Respuestas:
Descargo de responsabilidad: formo parte de la misma empresa que el equipo de Genymotion.
Esta característica está incluida en el producto. Es una de las funciones de pago del widget de screencast. Mira la página de precios aquí .
Dos formas de acceder a él:
Una vez que se inicia su VM, abra el widget de screencast
Luego toma una foto con el botón dedicado
ACTUALIZACIÓN: A continuación, tiene otras formas de tomar una captura de pantalla usando el Monitor de dispositivo Android o la línea de comando
Si está utilizando Android Studio o Eclipse, puede simplemente hacer clic en el botón "Captura de pantalla" en el DDMS de Android:
Puede usar adb para obtener la captura de pantalla desde la línea de comando:
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
Este artículo tiene los detalles: http://blog.shvetsov.com/2013/02/grab-android-screenshot-to-computer-via.html
Para hacer mi vida más fácil, hice un alias en .bash_profile:
alias screenshot="adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png"
Ahora puedo escribir screenshot
Terminal y obtener una captura de pantalla del emulador que se está ejecutando actualmente en mi directorio de Descargas.
adb server is out of date. killing...
errores al intentar esto. Lo arreglé usando el adb
incluido en Genymotion:/Applications/Genymotion.app/Contents/MacOS/tools/adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png
Utilice estos comandos:
Ventanas:
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
; de lo contrario, cámbielo a la ruta que desee.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
a un directorio donde realmente tenga derechos de escritura, para asegurarse de que esto funcione. De lo contrario, una solución bastante simple y elegante, ¡gracias!
error: cannot connect to daemon: cannot connect to 127.0.0.1:5037 (10061)
Presione la tecla de método abreviado que se describe a continuación
Windows: Ctrl + Mayús + S
Mac: Cmd + Mayús + S
Puede encontrar sus capturas de pantalla en el escritorio
Creo que también puedes grabar videos gratis. Genymotion usa VirtualBox para hacer casi todo el trabajo pesado, por lo que debe abrir VirtualBox y ver lo que puede hacer en él.
¡Encontrarás opciones en Virtualbox para capturar videos!
Oracle VM VirtualBox Manager
en Windows 7 y no se parece en nada al tuyo ...
Si tu Mac es lenta y odias ejecutar Eclipse y el emulador juntos, aquí tienes una forma más rápida.
Esta es una buena opción para quienes usan computadoras lentas.
@Reck dice que hay un error en la implementación de Genymotion, por lo que no podemos tomar capturas de pantalla en 2.3.7. Esto significa que Android Studio / DDMS no puede obtener los píxeles adecuados. adb shell screencap
dice que no hay screencap
comando.
Suponiendo que tiene acceso al código, simplemente puede llamar a este método:
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);
}
}
En actividad:
screenshot(getWindow().getDecorView());
En fragmento:
screenshot(getActivity().getWindow().getDecorView());
La única limitación que conozco es que no incluirá la barra de estado.
Tomar una captura de pantalla
En muchos dispositivos Android, puede capturar una captura de pantalla con una combinación de teclas: presione y mantenga presionados simultáneamente Encendido y Bajar volumen. También puede capturar una captura de pantalla con Android Studio de la siguiente manera:
Ejecute su aplicación en un dispositivo o emulador conectado. Si usa un dispositivo conectado, asegúrese de haber habilitado la depuración de USB. En Android Studio, seleccione Ver> Ventanas de herramientas> Logcat para abrir Logcat. Seleccione el dispositivo y un proceso del menú desplegable en la parte superior de la ventana. Haga clic en Captura de pantalla en el lado izquierdo de la ventana. La captura de pantalla aparece en una ventana del Editor de captura de pantalla.
Funciona incluso para Genymotion Emulator