As both a user of and developer for Android phones, I have a love-hate relationship with the myriad of screen sizes and resolutions enabled by the platform. As a user, I love being able to choose a device with a display that I perceive as the perfect balance between being the techy guy with the cool phone, and being the geeky guy walking around with something the size of a small country in his pocket. I want enough screen real-estate to watch Netflix when I travel, and not so much that the attractive woman across the aisle can see its Star Trek: Deep Space Ninethat's got me so engrossed. Android gives me all these options and more.

The developer in me though hates the fact that there aren't one or maybe two fixed display sizes. The reason being that allowing manufacturers and the market to dictate the various displays means I have to write my code to be aware of all the types of displays. If you've got an app in the Android Market, you know exactly what I mean. LDPI, MDPI, HDPI, and now XHDPI — it's enough to make your head spin. And heaven forbid you aren't artistically inclined or have the budget to outsource all your icons to a graphic art firm. The current incarnation of managing Android assets means you need to recreate your pixel-Prometheus not one but four times.

Say hello to Android Asset Studio

Android Asset Studio is an online Google Code project that is designed to assist app developers with creating, sizing, and managing assets for Android applications. Browsing the source you can see the project has been around for some time. How I didn't stumble upon it before I've no idea, but recent updates to comply with the UI Guideline changes associated with Ice Cream Sandwich makes Android Asset Studio a URL I am visiting with frequency of late.

Just what can Android Asset Studio (Figure A) do? Let's take a look.
Figure A

Icon generators

First and foremost the studio creates icons. It does launcher icons, menu icons, tab icons, notification icons, and even the new action bar icons. Looking at the launcher icon page for example you'll see that the online app can work with images, text, and clipart-based resources. Also the studio is thoughtful enough to provide some basic clipart for free. While the free selection isn't vast, if you are just looking for icons to represent common functionality, Android Asset Studio can help.

Perhaps my favorite feature is the text tool provided for creating icons (Figure B). The tool allows you to make icons or menu items based on a variety of fonts and colors, and then can offset it on a nice background.
Figure B

The real value the studio brings to the table in my opinion is that it is aware of all the latest recommended sizes for the various Android components, and it automatically creates a zip file for you to download to that effect (Figure C).
Figure C

But wait, there's more

The other nifty service the Android Asset Studio provides is a device frame generator (Figure D). What's that exactly? Well, it's a tool for taking your screen shots and overlaying them on an image of a Google flagship device. The tool is drag and drop friendly, and the resulting images make first rate promotional graphics to use in the Android store or on your own marketing website and literature.
Figure D

Final thoughts

Developing apps for Android is something I really enjoy, yet there are some items on the platform that I wish were more developer friendly. One of those items is managing graphical assets. I know plenty of developers who love to spend their days pushing pixels around in Photoshop, but I'm not one of them. If like me, you'd prefer a more automated process for building sharp, platform-aware icons for your apps, you'll find it worth your time to give the Android Asset Studio URL a poke.

About William J. Francis

William J Francis began programming computers at age eleven. Specializing in embedded and mobile platforms, he has more than 20 years of professional software engineering under his belt, including a four year stint in the US Army's Military Intellige...

Full Bio

William J Francis began programming computers at age eleven. Specializing in embedded and mobile platforms, he has more than 20 years of professional software engineering under his belt, including a four year stint in the US Army's Military Intelligence Corps. Throughout his career William has published numerous technical articles, as well as the occasional short story.