![]() Now we have a one-liner that grabs a screen shot from the Android device and stores directly on the computer executing the command. This solution using perl handles binary search and replace better:Īdb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png Unfortunately, I found that sed fix while works on Ubuntu doesn't work on OS X. ![]() The solution is to use sed search and replace as follows:Īdb shell screencap -p | sed 's/\r$//' > screen.png We want to only remove carriage return characters when they are followed by a line feed. Unfortunately, this time we're working with binary data, so using tr -d '\r' command to remove all 0x0D will likely corrupt it by also removing bytes that aren't part of the 0x0D0A sequence. If that sounds familiar, that's because I've dealt with this before. Apparently, adb shell is performing an EOL (end-of-line) character conversion, from LF (line feed, ' \n', 0x0A) to CR+LF (carriage return followed by line feed, ' \r\n', 0x0D0A). Luckily, I wasn't the first person looking into this issue. Information provided by screencap -h indicates that screen shot can be sent to stdout, but running adb shell screencap -p > screen.png results in seemingly corrupt file. Not bad, but seems like there's some room for improvement. One method is to use screencap command via adb shell like so:Īdb shell screencap -p /sdcard/screen.png Usually, I do this with adb pull command, but if I'm going to use CLI to retrieve the file, why don't I take the screen shot with it as well? Quite often, however, I need to copy the captured image over to my computer. The image will be saved in a "Screenshot" directory and accessible via Gallery. One simple way to capture the screen on Galaxy Nexus is to simultaneously press and hold Power and Volume Down buttons. There are many ways to take a screen shot on Android device.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |