我正在使用Genymotion运行android应用程序。有人可以告诉我如何在Genymotion中捕获屏幕截图吗?
Answers:
免责声明:我和Genymotion团队属于同一公司。
该功能包括在产品中。这是截屏小部件的付费功能之一。在此处查看定价页面。
两种访问方式:
VM启动后,打开截屏小部件
然后使用专用按钮拍照
更新:您已经有了另一种使用Android设备监视器或命令行获取屏幕截图的方法
如果您使用的是Android Studio或Eclipse,则只需单击Android DDMS中的“屏幕捕获”按钮即可:
您可以使用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
在Terminals中输入并在我的Downloads目录中获取当前正在运行的模拟器的屏幕截图。
adb server is out of date. killing...
,尝试此操作时出现错误。我使用adb
Genymotion中包含的内容修复了它:/Applications/Genymotion.app/Contents/MacOS/tools/adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png
使用以下命令:
视窗:
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
adb shell screencap -p "/mnt/sdcard/output.png" && adb pull "/mnt/sdcard/output.png" . && adb shell rm "/mnt/sdcard/output.png"
adb pull
您真正具有写入权限的目录,以确保此操作有效。否则,非常简单而优雅的解决方案,谢谢!
error: cannot connect to daemon: cannot connect to 127.0.0.1:5037 (10061)
点击快捷键说明如下
Windows:Ctrl + Shift + S
Mac:Cmd + Shift + S
您可以在桌面上找到屏幕截图
我想您也可以免费拍摄视频。Genymotion使用VirtualBox来完成几乎所有繁重的工作,因此您应该打开VirtualBox并查看可以在其中执行的操作。
您将在Virtualbox中找到捕获视频的选项!
Oracle VM VirtualBox Manager
在Windows 7上打开,看上去像您的......
如果您的Mac速度慢,并且您不希望同时运行Eclipse和仿真器,那么这是一种更快的方法。
对于使用慢速计算机的用户来说,这是一个不错的选择。
@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());
我知道的唯一限制是它不会包含状态栏。
截屏
在许多Android设备上,您可以通过以下按键组合来捕获屏幕快照:同时按住Power和Volume-down。您还可以使用Android Studio捕获屏幕截图,如下所示:
在连接的设备或仿真器上运行您的应用程序。如果使用连接的设备,请确保已启用USB调试。在Android Studio中,选择“视图”>“工具窗口”>“ Logcat”以打开Logcat。从窗口顶部的下拉列表中选择设备和进程。单击窗口左侧的“截屏”。屏幕截图出现在“屏幕截图编辑器”窗口中
它甚至适用于Genymotion模拟器