For demoing an Augmented Reality app, I would like to do a screencast of the Android device's screen (HTC Desire S).

The open source project androidscreencast works fine, except for the camera view. The overlays on top of the camera show through, but the actual camera view itself just shows up black. I have the same issue with the ddms tool that comes with the Android SDK - I can capture the screen, except for the camera view which appears black.

Here's the image I get using the ddms tool if I try to capture the screen when I have the normal camera app running: http://twitpic.com/83uztm

Please does anyone know why this is and how to get around it? Is it some kind of security feature, or a bug?

I came across something earlier that looked like a code workaround someone had come up with, but I don't have access to the app's underlying source code, so I need a non-programming method of getting this to work.


1 Answer 1


Sorry, without root, is probably not possible. With your device's OS version and the fact that you want to capture an overlay (video playback), even harder.

Prior to Android 3.0, screenshots were taken using the framebuffer, that is accessed by opening the /dev/graphics/fb0 device. This location requires root access, and even with root may not work for all devices. Some devices use a pair of framebuffers and toggle between them.

Additionally, and more related with your current problem, the framebuffer doesn't contain surfaces in an overlay (often the case with video playback). That's the reason as to why you don't get the video, only the application frame.

Support information by developers on stackoverflow by this answer and this answer.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .