• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Taking screenshots on an Stock (Non Rooted)Android-based phone

DonB

♡ Truth, Justice and the American Way !! ♡ ™
Moderator
Nov 30, 2009
20,579
10,593
18th Hole Of the Golf Course
For those of you that want to take screen shots and are not rooted, not as simple as that but can be done if you want to try it

FYI thanks goes to Chewedpup for researching and finding this info


C&P


Taking screenshots on an Android-based phone
android-swipe.gif
by Christina Warren


ddmsscreensnapz001.jpg


Even before playing with the new Android phone, the T-Mobile G1, I knew that I would need to be able to take screenshots of the phone itself. Using a digital camera to capture screens externally just wasn't going to cut it. Because the Android platform is open (and now, open source), I really didn't expect this to be a problem. If anything, I thought there would be a way to take screenshots directly from the device like you can with the iPhone and iPod Touch.

Alas, I discovered this is not the case. After scouring Google trying to find answers, I asked Engadget's Editor-in-Chief Josh Topolsky what they used for the screenshots in their review, and he was nice enough to fill me in on the details.

Warning: right now, taking screenshots from an Android device requires installing the SDK. That doesn't make it as simple as pressing a button, but it's not the end of the world. If you've got a few minutes, and a quick connection with which to download the SDK, we'll show you how to take delicious Android screenshots of your own.




Step 1: Enable USB Debugging


On your Android phone (in this case, the G1), go to Settings, then Applications, and then Development. Check the checkbox for "USB debugging."

Step 2: Download the Android SDK

Download the SDK for your platform here. Google also has some great installation documentation if you get lost. You will need to make sure you have a current copy of the JDK. To use the SDK, you also need to download an IDE like Eclipse. After installing Eclipse, you can install the Eclipse plugin to connect Android and the IDE together, or just do a lot of stuff via the command line.

Go ahead and plugin your Android handset into a USB port on your computer, if it is not plugged in already.

Step 3: Run DDMS

After configuring Eclipse or whatever IDE you use to work with Android, you need to open up the DDMS application from within the "tools" folder in the Android SDK's main folder.

After DDMS launches, select your handset from the menu on the left (it should be the only device listed). You might see an error message, but the debug tool should be loaded. Then, click CTRL-S on your keyboard. This will bring up the "Device Screen Capture" interface. From here, a static image is captured from what is appearing on your handset. You can save the image (nicely defaulted as PNG) and then refresh to your heart's content to grab updated or different screenshots from your phone.

That's it!

There is a caveat: Because your device has to be plugged into USB to be accessed by the SDK, the SD card cannot be used for taking photographs, playing music or downloading music from the Amazon.com MP3 store. You can take pictures of some of those screens, but to actually download anything, take movies, or take a photo, you cannot have your device plugged into the computer and accessed by the SDK.

Again, this is hardly as simple the iPhone's screenshot interface, but it is still very doable.
 
It's quite amazing that no simple app has yet appeared to allow Android users to take screenshots of their devices... I'm not a programmer, but with Android being an open source SW, shouldn't it be easy to find a memory location where the screen image is kept--and than just copy this info into after conversion into PNG or JPG format? Why is this task so difficult on Android?

And why can't the stock Gmail screen or mesages be pinch zoomed, or even zoomed in with the +/- zoom button, even on Android 2.2? This is a truly amazing oversight/blunder By Google, if you ask my old and tired eyes...
 
Upvote 0
It's quite amazing that no simple app has yet appeared to allow Android users to take screenshots of their devices... I'm not a programmer, but with Android being an open source SW, shouldn't it be easy to find a memory location where the screen image is kept--and than just copy this info into after conversion into PNG or JPG format? Why is this task so difficult on Android?

And why can't the stock Gmail screen or mesages be pinch zoomed, or even zoomed in with the +/- zoom button, even on Android 2.2? This is a truly amazing oversight/blunder By Google, if you ask my old and tired eyes...
Its not that Android can't take screenshots stock, its because you need root access. For some reason (unknown to the rest of us, I think its sort of dumb too) Google made it so you can only take screenshots via the Debug interface (and the debug interface has root, obviously). So it isn't because people can't make an app for it, its because its not possible without root (ShootMe does exactly what you said above, but you need root).

Not really what your looking for, but for Gmail, you can go to menu > Settings > Message text size. Then you can make text larger. It only affects text, not images (or text within images) though.
 
Upvote 0
You don't even need ddms, everything can be done by pulling the framebuffer and converting it with ffmpeg:
adb pull /dev/graphics/fb0 fb0_file
ffmpeg -vframes 1 -vcodec rawvideo -f rawvideo -pix_fmt rgb565 -s 320x480 -i fb0_file -f image2 -vcodec png fb0_file.png

This works on my G1, resolution (320x480) and format (rgb565) has to be changed for other phones.
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones