在GenyMotion中捕获屏幕截图

时间:2014-02-14 05:21:17

标签: android-emulator genymotion

我正在使用 Genymotion 来运行Android应用程序。 任何人都可以告诉我如何捕获 Genymotion 中的屏幕截图吗?

13 个答案:

答案 0 :(得分:192)

如果您使用的是Android Studio或Eclipse,只需点击按钮" Screen Capture"在Android DDMS中:

enter image description here

答案 1 :(得分:52)

您可以使用adb从命令行获取屏幕截图:

adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png

这篇文章有详细信息: http://blog.shvetsov.com/2013/02/grab-android-screenshot-to-computer-via.html

为了让我的生活更轻松,我在.bash_profile中创建了一个别名:

alias screenshot="adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png"

现在我可以在终端中输入screenshot,并在我的下载目录中获取当前正在运行的模拟器的屏幕截图。

答案 2 :(得分:35)

免责声明:我是Genymotion团队的同一家公司。

此功能包含在产品中。这是截屏小部件的付费功能之一。 Look at the pricing page here

访问它的两种方法:

  • 支付专业或独立执照
  • 使用试用版,它为您提供独立功能。 小心,只剩下一个试用日: - /

启动虚拟机后,打开截屏视频窗口小部件

enter image description here

然后使用专用按钮拍摄照片

enter image description here

更新:您还有其他方法可以使用Android Device Monitorcommand line

截取屏幕截图

答案 3 :(得分:24)

使用此命令:

  • 视窗:

    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;否则,将其更改为您喜欢的任何路径。
  • 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
    

答案 4 :(得分:11)

我想你也可以免费观看视频。 Genymotion使用VirtualBox来完成几乎所有繁重的工作,因此您应该打开VirtualBox并查看可以在其中执行的操作。

您可以在Virtualbox中找到捕捉视频的选项! enter image description here

答案 5 :(得分:9)

  1. 选择genymotion模拟器
  2. 点击快捷键描述如下

    • Windows:Ctrl + Shift + S

    • Mac:Cmd + Shift + S

  3. 您可以在桌面

  4. 找到截图

答案 6 :(得分:7)

  

adb shell screencap -p /sdcard/screen.png

答案 7 :(得分:5)

如果您的Mac速度很慢而且您讨厌运行Eclipse并且模拟器在这里是一种更快捷的方式。

  1. 导出你的apk。
  2. 启动Genymotion。
  3. 将apk拖到模拟器中,以便进行安装。
  4. 转到'android-sdk-macosx>工具> ddms'。
  5. 运行该文件。
  6. 将启动ddms的新实例。与Eclipse不同,它不会减慢您的系统速度。
  7. 使用“菜单>设备>屏幕截图”选项截取屏幕截图。
  8. 对于使用慢速计算机的人来说,这是一个不错的选择。

答案 8 :(得分:3)

如果您使用的是Eclipse,请按照任何类型的模拟器的步骤操作: 1.选择DDMS 2.在DDMS的“设备”窗口中,选择Genymotion设备 3.单击“相机”图标,然后将其保存到特定位置。 In Devices window just click on Camera icon. I already mark it by circle here

答案 9 :(得分:2)

对于Linux和Windows(我在Windows上使用gitbash) adb shell screencap -p | sed 's/\r$//' > screen.png 对于Mac adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png

答案 10 :(得分:0)

@Reck说Genymotion实现中存在一个错误,因此我们无法在2.3.7上截取屏幕截图。这意味着Android Studio / DDMS无法获得正确的像素。 adb shell screencap说没有screencap命令。

假设您可以访问代码,只需调用此方法:

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);
    }
}

活动:

screenshot(getWindow().getDecorView());

在片段中:

screenshot(getActivity().getWindow().getDecorView());

我知道的唯一限制是它不会包含状态栏。

答案 11 :(得分:0)

如果您使用Mac,有时CMD + Shift + 4(OSX中所选部分的屏幕截图)然后选择模拟器区域就足够了:)

答案 12 :(得分:0)

拍摄屏幕截图

在许多Android设备上,您可以通过以下按键组合来捕获屏幕截图:同时按住电源和降低音量键。您还可以使用Android Studio捕获屏幕截图,如下所示:

在连接的设备或仿真器上运行您的应用程序。如果使用连接的设备,请确保已启用USB调试。 在Android Studio中,选择“视图”>“工具窗口”>“ Logcat”以打开Logcat。 从窗口顶部的下拉列表中选择设备和进程。 单击窗口左侧的“截屏”。 屏幕截图出现在屏幕截图编辑器窗口中

它甚至适用于Genymotion模拟器

Check here for further information