Several times over the last few weeks I’ve found myself in need of getting my hands on icons from within Android apps. It’s been while I’ve been customizing my Galaxy S II, and I’ve needed both the actual icon that is used for an app in the launcher (in order to make a custom icon that fits the look of my phone) and icons that are part of icon packs for other launchers than the one I use, and hence not available for the latter.
Getting these icons is very simple. Extract the .apk file (which is the app) using a supported program or app (e.g. Root Explorer on Android, 7zip on Windows) and dig through the folders called drawable-XXXX (e.g. drawable-hdpi) in the /res folder. There you’ll have the icons in ready-to-go .png files.
As for getting the .apk files, there are many ways of doing that. If you’re rooted, you can just dig them out from /data/app as long as you have them installed. Many apps can also be found online by simply searching for their names and “.apk file”, and since you’re not actually installing them but rather extracting them you don’t have to worry about them messing up your device.
Some discretion is of course wise here in order to stay legal and not piss anyone off. Unified Remote‘s developer probably doesn’t care that I extracted a .apk I paid for to get to the icon and make it grayscale to fit the rest of the icons I’m using, and considering the list of sources for the ADW.Elegant theme I doubt that it’s an issue that I use the icons with GO Launcher. Extracting icons from a pirated .apk of a paid theme on the other hand, not exactly recommended.