我正在使用 Genymotion 来运行Android应用程序。 任何人都可以告诉我如何捕获 Genymotion 中的屏幕截图吗?
答案 0 :(得分:192)
如果您使用的是Android Studio或Eclipse,只需点击按钮" Screen Capture"在Android DDMS中:
答案 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
访问它的两种方法:
启动虚拟机后,打开截屏视频窗口小部件
然后使用专用按钮拍摄照片
更新:您还有其他方法可以使用Android Device Monitor或command 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中找到捕捉视频的选项!
答案 5 :(得分:9)
点击快捷键描述如下
Windows:Ctrl + Shift + S
Mac:Cmd + Shift + S
您可以在桌面
答案 6 :(得分:7)
adb shell screencap -p /sdcard/screen.png
答案 7 :(得分:5)
如果您的Mac速度很慢而且您讨厌运行Eclipse并且模拟器在这里是一种更快捷的方式。
对于使用慢速计算机的人来说,这是一个不错的选择。
答案 8 :(得分:3)
如果您使用的是Eclipse,请按照任何类型的模拟器的步骤操作: 1.选择DDMS 2.在DDMS的“设备”窗口中,选择Genymotion设备 3.单击“相机”图标,然后将其保存到特定位置。
答案 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模拟器