While rounding up an Android project for a customer I needed to create some screenshots for delivery to the Google Play Store and I needed them within half an hour.
Instead of running the very slow AVD I wanted to take some shots from the Genymotion Virtual Machine since I use that primarily for Android emulation because it’s so damn fast!
I crawled the web for a way to take screenshots on my Mac and found a way using the console to take a screenshot of whatever single* device is connected to your development machine!
*: If you have a physical device and a Genymotion machine connected and/or running it will give you the “sorry can’t decide which device you want a pic from” message.
So make shure one machine is connected and running your app and take a screenshot of whatever is onscreen using the following console command:
$ adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
This will save the screen to the file specified – in this case, “screen.png” – on the location where you’re at in the console.
This is an universal solution that works for physical devices, AVD and 3th party simulators like Genymotion that I just wanted to share with you!