I looked at my mobile testing options and I realised that I didn’t have a full toolbox to help me.
I first wanted to identify screen capture and screen recording options for my Android devices.
Most of the tools I found wanted root devices. When testing, you may not have this option, people might come across paranoid about interfering with the device state.
So I limited myself to tools which did not require root access. They all pretty much work the same way using ADB and Debugging over USB enabled.
If you bought all tools that I recommend in here, then the total cost would hit the dizzying height of £8.98, so I don’t see a lot of point trying to roll my own solution.
To use these tools you pretty much need to have a working SDK setup. So work on that first. And if you can connect to your device with adb or monitor.bat then you’re probably good to go.
In order to record the screen for some of these I use them in combination with a desktop screen recording tool like Camtasia or the Blueberry Software tools BB FlashBack or BB Test Assistant
Free and Open Source Tools
Droid@Screen is a pretty good wrapper around the adb.
The main GUI display shows a continually refreshed view of the device.
- You can take a screenshot very easily.
- The main GUI has easy orientation buttons to adjust the GUI display for landscape or GUI.
- You can capture screenshots to a folder automatically.
- You can view device properties
- You can scale the output view
On my Samsung Galaxy Note II the refresh rate was a little slow (about 1 - 2 frames per second), but it is a pretty high res screen. For lower resolution screens you might find that you can use this for screen recording as well.
Android Screen Monitor
Much the same as droid@screen, the GUI is simpler with a right click menu instead of icons.
Sometimes this is a little faster than droid@screen, sometimes droid@screen is a little faster.
ASC - Advanced Screen Capture
ASC performs on device screen capture, so it writes a movie file to the phone’s memory. It has a bunch of options to adjust framerate. What I particularly like is that it will highlight the taps you make on the screen so you can view the interaction on the device.
On non rooted devices requres you to use an ‘activation’ program on the PC or mac. The desktop activator program acts as a simple way of making a connection to your device and taking a screenshot, so an easy way of accessing some of the sdk funtionality.
Looking at the popups as the screen ‘activates’ it is using adb in some way - I assume to enable the android screenshot api.
Application description on the play store says it only works on non-Tegra devices. The trial worked fine on my Samsung Galaxy Note II.
Buy through an in-app purchase for £3.99
Activation Notes: I had some trouble activating it after purchase, but after a few emails with the developer. I had to uninstall it, then re-install it, then click the ‘buy’ again (I wasn’t charged twice). The activation does work, but a bit more fiddly than it needed to be.
VMLite VNC Server
A desktop program to start the server on your phone if you work non-rooted.
Once the server runs I can head off to
http://<deviceip>:5801 to use the HTTP interface.
Or connect a desktop vnc server to
The HTML5 viewer was about the same as Droid@Screen or Android Screen Monitor.
The Java Applet VNC is a little faster, and the best out of the desktop tools I tried.
The video was not as smooth as ASC, but remember that this has the advantage that I can interact with the android device as well from the desktop and use my mouse and keyboard.
Used But Can’t Recommend Fully
I also tried a couple of other Open Source Tools, but they didn’t work well on my machine, that doesn’t mean they won’t work on yours, so I list them below:
- Android Screen Cast
- Faster than Droid@Screen
- But a bit flakey on my machine and threw some errors. I tried it on Windows 8, it might work well on other machines.
- Looks Good, but hung on my Windows 8 machine after one screenshot. It might work for you.
A mix of tools there:
- Desktop Connection for Screenshots and low frame rate streaming
- VNC for higher framerate and interaction
- On Device Capture for High Frame Rate
What do you use when you test on mobile devices to record the testing you perform?