Capturar captura de pantalla en GenyMotion


Respuestas:


40

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:

  • pagar la licencia pro o indie
  • usa la versión de prueba, te ofrece las funciones independientes. Cuidado , solo queda un día de prueba: - /

Una vez que se inicia su VM, abra el widget de screencast

ingrese la descripción de la imagen aquí

Luego toma una foto con el botón dedicado

ingrese la descripción de la imagen aquí

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


1
Muchas gracias por tu comentario
kavie

2
Gracias dya. Por lo general, en StackOverflow, si una respuesta resuelve su problema, debe marcarlo como resuelto en lugar de votar a favor como lo hizo.
eyal-lezmy

193

Si está utilizando Android Studio o Eclipse, puede simplemente hacer clic en el botón "Captura de pantalla" en el DDMS de Android:

ingrese la descripción de la imagen aquí


2
Esto también funciona en Eclipse y no solo en Android Studio. Simplemente cambie a DDMS y haga clic en el símbolo de la cámara con el dispositivo correcto seleccionado.
X.X_Mass_Developer

4
Esto no funcionará para dispositivos 2.3.7 en Genymotion ya que actualmente hay un error en su implementación de framebufer. Solo para tu información.
Reck

¿Hay algún atajo para esto?
LiangWang

si muestra un error que no puede conectarse al dispositivo, simplemente reinicie Android Studio :)
Choletski

52

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 screenshotTerminal y obtener una captura de pantalla del emulador que se está ejecutando actualmente en mi directorio de Descargas.


3
En una Mac, recibía adb server is out of date. killing...errores al intentar esto. Lo arreglé usando el adbincluido en Genymotion:/Applications/Genymotion.app/Contents/MacOS/tools/adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png
cgenco

¡Agradable! ¡Funciona genial!
sdfsdf

genial, así que no necesito actualizar mi licencia de genymotion: llorar:!
Liu Plutón

Esta es una respuesta de nivel PRO, ¡gracias! Solo como actualización, en Mac OSX actualmente funciona con el comando: alias screenshot = "adb shell screencap -p> ~ / Downloads / android_screenshot.png"
Juangui Jordán

1
Prefiero que el nombre sea único añadiendo la marca de tiempo: alias screenshot = '/ Applications / Genymotion.app / Contents / MacOS / tools / adb shell screencap -p | perl -pe 's / \ x0D \ x0A / \ x0A / g'> ~ / Escritorio / Android_Screenshot _ $ (fecha "+% Y-% m-% d-% H-% M" -% S) .png '
Musa almatri

24

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"
    
    • Nota: asegúrese de tener permiso para escribir 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
    

1
Con ligeras modificaciones, me está funcionando:adb shell screencap -p "/mnt/sdcard/output.png" && adb pull "/mnt/sdcard/output.png" . && adb shell rm "/mnt/sdcard/output.png"
manikanta

Creo que un usuario normal en Windows no tiene los permisos para escribir directamente en "C: \", por lo que es mejor que cambie la ubicación de destino adb pulla 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!
SaAtomic

1
Gracias, @SaAtomic, he editado mi respuesta con una nota.
gabrielmaldi

error: cannot connect to daemon: cannot connect to 127.0.0.1:5037 (10061)
JCarlosR

13
  1. Seleccionar simulador de genymotion
  2. Presione la tecla de método abreviado que se describe a continuación

    • Windows: Ctrl + Mayús + S

    • Mac: Cmd + Mayús + S

  3. Puede encontrar sus capturas de pantalla en el escritorio


1
Funciona pero la captura de pantalla no se puede guardar en el escritorio. Se guardó en C: / Users / ~ LoginName ~ / ~ AVD Name ~ / Screenshot-datetimestamp.png
Mohamed Mohaideen AH

1
Para mac, depende de la ruta de la carpeta de captura de pantalla, el valor predeterminado es el escritorio
Iliyass Hamza

¡Gracias por la pista! Funciona incluso con la versión gratuita de Genymotion 2.8.0 (Windows) :)
AntonK

11

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! ingrese la descripción de la imagen aquí


Abrí Oracle VM VirtualBox Manageren Windows 7 y no se parece en nada al tuyo ...
TWiStErRob

Acabo de instalar VirtualBox en Win7 y me parece así. i.imgur.com/XKqlFW2.jpg
TrophyGeek

Eso es un "linux", ¿tienes las mismas opciones para Genymotion Androids? (Tal vez solo funcione por encima de Android 4, probé 2.3.7)
TWiStErRob

1
has probado esto? Para VirtualBox en Debian, solo registra los mensajes del kernel de los dispositivos Android.
dols

No puede iniciar un dispositivo genymotion directamente desde virtualBox. Esta solución no funciona.
Daniele


5

Si tu Mac es lenta y odias ejecutar Eclipse y el emulador juntos, aquí tienes una forma más rápida.

  1. Exporta tu apk.
  2. Inicie Genymotion.
  3. Arrastra el apk al emulador para instalarlo.
  4. Vaya a 'android-sdk-macosx> herramientas> ddms'.
  5. Ejecute ese archivo.
  6. Se iniciará una nueva instancia de ddms. A diferencia de Eclipse, no ralentiza su sistema.
  7. Use la opción 'Menú> Dispositivo> Captura de pantalla' para tomar una captura de pantalla.

Esta es una buena opción para quienes usan computadoras lentas.


3

Si está utilizando Eclipse, siga los pasos para cualquier tipo de emulador: 1. Seleccione DDMS 2. En la ventana Dispositivos de DDMS seleccione el dispositivo Genymotion 3. Haga clic en el icono Cámara y luego guárdelo en una ubicación específica. En la ventana de Dispositivos, simplemente haga clic en el icono de la Cámara.  Ya lo marco con un circulo aqui


2

Para Linux y Windows (usé gitbash en Windows) adb shell screencap -p | sed 's/\r$//' > screen.png Para Mac adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png


0

@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 screencapdice que no hay screencapcomando.

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.


0

si usa Mac, a veces CMD + Shift + 4 (captura de pantalla de una parte seleccionada en OSX) y luego seleccionar la región del simulador es suficiente :)


0

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

Consulte aquí para obtener más información.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.