Hey everyone.  Here's a quick tip that often gets overlooked amidst the madness. Since everyone loves to show off their Android homescreen setup, Let's talk about how to do it if you're not rooted and not running a home replacement. This works for all devices regardless of any home customizations done by the handset maker. Hit the break to follow along.

The first step is setting up the SDK on your computer. We covered that for Windows users in-depth here, so we will touch briefly for you folks running a Mac or Linux.

  • Make sure you download the correct sdk for your platform.
  • Make sure you're up to date with the Java Run Time Envrionment from Sun.
  • Mac users: Update this from the Apple menu, Ubuntu users sudo apt-get install sun-java6-jre.

After you have the SDK all set up, the hard part's over.  Just follow along and you'll be taking screenshots in no time.

1.  Plug your phone into your computer and start up the ddms tool. On a Windows machine, you open your SDK\tools folder and double click the icon (see the picture below). On Linux or a Mac, open your terminal in the sdk/tools and enter ./ddms

Android SDK\tools folder in Windows

The Android sdk\tools folder

2.  Make sure you select your device from the list in the right pane of the ddms application, then select device -> screen capture from the menu bar.  See the picture below.

The ddms utility window

3.  Grab your phone, set up the image you want to grab, and hit the refresh button (see the image below).  When you're satisfied with the results, click save and tell the ddms app where to save it.

The screen capture interface

And that's it!  All that's left is to hit the forums and share your screenshots with the world.


Reader comments

Take Android screenshots without root


Excellent article.. Have been trying to do this for the past few weeks as i've been working as part of a project for my company who have finally decided to start developing Android apps for their systems.. Thanks!

Hey this is still too complicated for me. what i would like is an app that let's you take these shots without screwing with java and files and what not. this is not my field for playing with. good work though.

Nope indeed you shouldn't, what you should do is get an iPhone and make all the daintsy little screenshots you want. DDMS and Android are to enable users to pretty much do anything to their phone they pretty darn please. Taking screenshots is just a tip of the iceberg.

Why can't it be a simple 2 button press like the iPhone does. I shouldn't have to install SDK software on my machine just for this one function.

The problem is not every android device has the same keys. The iphone has a home button, a rocker and a power button, and only they make the phone and software.
Palm has the ability in WebOS by hitting Orange + Sym + P to take screen shots., but every webos phone will likely have a full physical keyboard
Android is free and gives the manufacturers the freedom to pretty much do whatever you want. Every button does something on any given screen, making it impossible to take a screenshot that way. Plus, you can't make it a keyboard operation, cause only 2 Android devices have a keyboard (G1 and Moto Droid). ShootMe is an app that does it, but requires root to work. And instead of pushing a button, you shake the phone or make a noise. Very different from pushing buttons.

Samsung Moment, Motorola Cliq, Motorola Devour all have physical keyboards (I'm sure there are a few others).

Let's not forget our android cousins. ;)

"On Linux or a Mac, open your terminal in the sdk/tools and enter ./ddms"

Actually on a Mac all you have to do is going into tools folder located in the android-sdk-mac_86 folder and double click the ddms tool which automatically brings up the Dalvik Debug Monitor.

For the person who doesn't want to mess with the java files and whatnot if you're Mac is update there's nothing to mess with. This was obviously written by a PC guy who hasn't used or is unfamiliar with Mac.

Two questions...

1) Any way to make the resulting image display horizontally by default? Gets annoying constantly having to rotate the image after each capture.

2) This one is a long shot... but... is there a more real time method of doing this? A way to display more than 3 screens per 5 seconds?

Nope and nope.

For security, this is the only way for an outside source to get the contents of your screen unless it has root access. Hopefully, Google addresses some of the consumer issues with the SDK in future releases.

Seems like your second nope based on "unless it has root access" is a yes then. An app with root would never make it to Market, but I trust myself with programming and would allow my own root access app on my phone. Seriously, If the programming is done to have the SDK do it... It can be done, right? I would think the only thing to keep it from doing it is a handset that doesn't allow root access... Course with a rooted phone, we've proven we over-ride that. This is my new personal goal in life. That, and to learn invisibility.

I agree with is just so convoluted... I hear the guy on the button issue with Android, but can't this be added as a persistent menu item like CaptureIt on Blackberrys?

OK..I got the phone connected but how exactly do you choose your phone in DDMS? I assume it automatically detects the phone, right? Not so for me :O(

Any help would be greatly appreciated!

dxTop which is an alternative home screen app also has screenshot functionality. The user can long-press and hold either the center button or the camera button to grab a screenshot and save it to the SD card. Root not required.

The app however is not free and certainly overkill for those who merely wish to take a screenshot. If however, like me, dxTop is your default launcher, it does simplify things considerably.

Pretty easy peasey but i still wish that android had it build in as i don't want to root but i do need screenshots and would rather not be tethered to a computer when i need to take them...

> I can't run on Windows 7. Who can solve this problem?

1. If you have PdaNet, exit that first, then connect the device to your computer.

2. Run ddms as an administrator (i.e., run it from a command shell that was run as administrator)

i know i'm really, really late here, but, you forgot to mention that usb debugging needs to be enabled on the device. you're welcome!

When I double ddms, nothing happens (the black windows command screen opens and closes immediately) I have downloaded all of the necessary items/drivers. Any ideas?

Motorola Droid/Windows 7

When I double click ddms, nothing happens (the black windows command screen opens and closes immediately) I have downloaded all of the necessary items/drivers. Any ideas?

Motorola Droid/Windows 7

I'm a new user and I love Android, but this is just too much to take a simple screenshot. All my past smartphone devices have either had the ability built into the phone or had an app created that could accomplish it. The market needs an app that'll take one and make it a jpg (within the device, and without rooting!).

you can take screen shots with the app lock 2.0 (the paid version) and i think the menu button does it. check it out, good replacement for the boring lock screen options android has.

When I double click ddms, nothing happens (the black windows command screen opens and closes immediately) I have downloaded all of the necessary items/drivers. Any ideas?

same problem but i have a incredible on win 7

I have Windows 7, right clicked "Run as Administrator"... nothing. The ddms still not showing my phone... :(

Double clicking ddms does nothing except cause a command window to open for a fraction of a second and then close before I read the message. I'm using Windows 7 (64bit). Can anyone help?

For anybody having the issue where ddms only opens a fraction of a second:
First, make sure you have the JDK installed, not just JRE.
Second, make sure the path to the JDK is recognized. Add it to your system environment variables: (control panel > system > advanced system settings > Environment Variables > Find the "Path" system variable and edit it. Go to the very end of the line and add the folder where your Java.exe is located. Mine was at C:\Program Files (x86)\Java\jdk1.6.0_21\bin\java.exe, so I added ";C:\Program Files (x86)\Java\jdk1.6.0_21\bin" to the end of the path, without the quotes. Make sure the path you choose is to the JDK, not the JRE!

Thanks brossman.....was going nuts trying to get to work....should of known that all i needed was to scroll down to find a post with the answer.

took me a few hours to get this all figured out, mainly cause google changed their options with a few menu options for updating, once i got it going though its rather easy to use, and pretty straight forward.

didn't work out exactly according to the instructions, but I finally got this to work after farting with it for a little over an hour. Ended up having to install the HTC sync software to get it to work. Anyway... cool deal. Only thing I don't understand is why taking screenshots has to be so difficult on Android. Also don't understand why Home++ was able to do this without root, but no other apps can.

I installed the software, but when I run ddms, I don't get an option to choose my phone. When I plug into the usb, should I be in "pc" mode? And if so, do I then need to install drivers for my phone if/when prompted? So far, I've only plugged in to move music over. I have a Droid X running 2.1 with LauncherProPlus, and my computer is running Vista.

It for some reason won't let me install the drivers from the SDK usb folder.. it says either I have the best drivers available or when I uninstall the Mot Composite ADB Interface drivers from the Device Manager in Windows 7 it can't install it there either, whether I just uninstall the previous drivers or delete them. Is there anything I can do? This is ridiculous.. ALL of THIS JUST to try to get a screenshot??

I've Just been taking screen shots by taking pix of my
Epic 4G with my trusty old Blackberry 8330 w/OS 4.5 and
sending them to myself. Its easier than all this nonsence. LoL!

Absolutely stupid that you can't take a screen shot like you can on iPhone, NATIVELY. WTF is wrong with Android developers?

Inability to take a screen shot combined with Motorola's constant quest to see to it that you cannot root your phone is the reason I will switch to iPhone soon.

I'm getting rid of my iPhone. Android is much better. Something is wrong when taking a screen shot is going to influence which phone you get.

Sheesh, all you need is Screen Capture Shortcut from the Android market and you can do screenshots without rooting or other complicated methods! (Samsung Vibrant, 2.2 Froyo) If I knew how to post one here, I would. I'm not an expert and this app is easy!

This is absurd to have to do this in order to just get a screenshot.. I've tried everything suggested here and NOTHING worked for me.. The ONLY thing that has worked is an app called MyPhoneExplorer. It not only syncs Contacts, Calendars (including Funambol that allows for Notes as well from Windows Mobile phones just like if you had Microsoft Office and Outlook) but it has a feature on the PC desktop version where you can do screenshots under the Extras- Load Screenshots option! Can sync either via Bluetooth, WIFI, or USB. Works GREAT so far!

I really have to agree. I have tried SuperOneClick, Z4tools, and now this. The authors end every paragraph of their instructions with "That's it!!" but of course the instructions are incomprehensible and don't work.

One really understands why Apple phones are so popular.

I have to second using MyPhoneExplorer. Not only is it free and will sync your contacts and calendar but the screen shot utility is so easy and will automatically refresh as you change the phone screen display.

It's really not as difficult as it seems, but on paper it looks threatening. I've got a little video at freewifiphonecalls.com that might help you out. I'm kind of an e-dummy and I was able to do it. Once you set it up, the next time it's trivial.

I am working on this, but I can't get the ddms to recognize my device. I tried my thunderbolt in every connection mode. I've all but given up on the idea of a screen shot :(

Tad late but I found out that the HTC Sensation can make screenshots by pressing the Power button and the Home button.

I also downloaded an app to my OptimusT called screenshot, says it's only for rooted phones, but it works like a champ on mine.

@ rufflez: And instead of pushing a button, you shake the phone or make a noise. Very different from pushing buttons.

As a newb, I had to smile at that one!!

can we get an updated tutorial? the SDK stuff I downloaded was different than the ones in the screen shots. some of the steps i wasnt sure I did correctly. also my computer hates my phone but thats another issue.

seriously tho, Android community, phone nerds, developers. make a dang screen shot app that works (on all android phones) without all this nonsense. or Google, make it so that taking a screenshot isnt considered a red alert security threat.