在 GenyMotion 中捕捉截图

我使用 基因运动来运行 android 应用程序。 谁能告诉我如何在 基因运动(Genymotion)中捕捉屏幕截图?

57895 次浏览

免责声明: 我与 Genymotion 团队属于同一家公司。

这个功能包含在产品中。它是一个付费功能的屏幕播放小部件。

有两种方法可以访问:

  • 支付专业或独立的许可证
  • 使用试用版,它提供独立功能。 小心点,只有一个试用日剩下:-/

启动 VM 后,打开屏幕广播小部件

enter image description here

然后用专用按钮拍一张照片

enter image description here

更新: 使用 Android 设备监视器或者 < a href = “ https://stackoverflow. com/a/24316765/1466415”> 命令行,你可以使用以下方法截屏

我想你也可以免费拍视频。Genymotion 使用 VirtualBox 来完成几乎所有的繁重工作,所以您应该打开 VirtualBox,看看您可以在其中做些什么。

你会在 Virtualbox 找到拍摄视频的选择! enter image description here

如果您正在使用 Android Studio 或 Eclipse,只需单击 Android DDMS 中的“ Screen Capture”按钮:

enter image description here

您可以使用 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,并在我的下载目录中获得当前正在运行的模拟器的屏幕快照。

如果你的 Mac 很慢,你讨厌运行 Eclipse 和模拟器在一起是一个更快的方法。

  1. 输出你的平板电脑。
  2. 启动基因运动。
  3. 将 apk 拖动到模拟器,以便安装它。
  4. 转到‘ android-sdk-macosx > tools > ddms’。
  5. 运行那个文件。
  6. 将启动一个新的 ddms 实例。与 Eclipse 不同,它不会降低系统的速度。
  7. 使用“菜单 > 设备 > 截图”选项进行截图。

对于那些使用速度慢的计算机的人来说,这是一个很好的选择。

@ Reck 说 Genymotion 实现中有一个 bug,所以我们无法在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());

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

对于 Linux 和 Windows (我在 Windows 上使用 gitbash) Adb shell screen cap-p | sed’s/r $//’> screen.png 为了 Mac Adb shell screen cap-p | perl-pe’s/x0D x0A/x0A/g’> screen.png

Adb shell screen cap-p/sdcard/screen. png

如果您正在使用 Eclipse,那么请遵循任何类型的模拟器的步骤: 1. 选择 DDMS 在 DDMS 的设备窗口中选择 Genymotion 设备 点击相机图标,然后保存到指定位置。 In Devices window just click on Camera icon. I already mark it by circle here

使用以下命令:

  • 视窗:

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

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

  1. 选择基因运动模拟器
  2. 按下快捷键描述如下

    • Windows: Ctrl + Shift + S

    • Mac: Cmd + Shift + S

  3. 你可以在桌面上找到你的截图

截图

在许多 Android 设备上,你可以用一个按键组合来截屏: 同时按住电源和音量。你也可以使用 Android Studio 截图如下:

在连接的设备或模拟器上运行应用程序。如果使用连接的设备,请确保启用了 USB 调试。 在 Android Studio 中,选择 View > Tool Windows > Logcat 以打开 Logcat。 从窗口顶部的下拉列表中选择设备和进程。 单击窗口左侧的 Screen Capture。 屏幕截图出现在屏幕截图编辑器窗口中

它甚至适用于 Genymotion 仿真器

你可在此查阅更多资料