在GenyMotion中截取屏幕截图
我正在使用Genymotion运行Android应用程序。 有谁能告诉我如何在Genymotion中截取屏幕截图?
免责声明:我是Genymotion团队的同一家公司的一员。
该function包含在产品中。 这是屏幕video小部件的付费function之一。 看看这里的定价页面 。
有两种方法可以访问它:
- 支付亲或独立执照
- 使用试用版,它为您提供独立的function。 要小心 ,只剩下一个试用期: – /
一旦您的虚拟机启动,打开屏幕video小部件
然后用专用button拍照
更新:你有另一种方法来使用Android设备监视器或命令行截图
如果您使用的是Android Studio或Eclipse,则只需单击Android DDMS中的“屏幕截图”button即可:
您可以使用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中创build了一个别名:
alias screenshot="adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png"
现在,我可以在terminal中inputscreenshot
,并获取当前运行在我的下载目录中的模拟器的屏幕截图。
使用这个命令:
-
视窗:
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
; 否则,将其更改为您喜欢的任何path。
- 注意:确保您有权写入
-
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
我想你也可以免费观看video。 Genymotion使用VirtualBox来完成几乎所有的繁重工作,所以你应该打开VirtualBox,看看你能做些什么。
您将在Virtualbox中find选项来捕捉video!
adb shell screencap -p /sdcard/screen.png
如果你的Mac很慢,而且你讨厌运行Eclipse,那么这里的模拟器是一个更快的方法。
- 导出你的apk。
- 启动Genymotion。
- 拖动apk到模拟器,以便安装它。
- 转到'android-sdk-macosx>工具> ddms'。
- 运行该文件。
- 一个新的ddms实例将被启动。 不像Eclipse,它不会减慢你的系统。
- 使用“菜单>设备>屏幕截图”选项截屏。
对于那些使用慢电脑的人来说,这是一个不错的select
如果您使用的是Eclipse,请按照以下步骤操作:1.selectDDMS 2.在DDMS的Devices窗口中selectGenymotion设备3.点击Camera图标,然后保存到指定的位置。
对于Linux和Windows(我在Windows上使用gitbash) adb shell screencap -p | sed 's/\r$//' > screen.png
adb shell screencap -p | sed 's/\r$//' > screen.png
对于Mac adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
- selectgenymotion模拟器
-
点击下面的快捷键
-
Windows:Ctrl + Shift + S
-
Mac:Cmd + Shift + S
-
-
你可以在桌面上find你的截图
@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());
我知道的唯一限制是它不包含状态栏。
如果你使用Mac,有时CMD + Shift + 4(OSX中选定部分的屏幕截图),然后select模拟器区域就足够了:)