This is the best guide that I know of out there for theming; it is comprehensive, and if you use it, you should give a big thanks to the makers of it.
I find both of these to be great; I have apk manager (windows and linux) on my pc, and apktool (windows, mac, and linux) on my mac. APK manager will likely be best for beginners due to its simplistic and user friendly UI, and it offers some more features then apktool, like zipaligning, optimizing, etc. Both are fantastic, and absolutely a huge help for theming and decompiling apps.
It's always helpful to know how to use the SDK for adb, zipaligning, and other tasks. Remember, even if you have other tools like apk manager to zipalign, it's always good to know how to do it by hand And you'll need tools in it like draw9patch for those pesky .9pngs
You will use this all the time. Editing files like decompiled XMLs on this is a breeze
You'll use this every time you do XML edits; you'll need these color codes to tell the XMLs what color you want to show up
Want to go all out? Go photoshop. Want a great, free tool to theme with? Gimp is the way to go. Either way, you'll want to use one of these tools for png edits when theming. Paint.net is also another good free tool for edits.
For you mac users like me, Hex Fiend comes in handy if you ever need to edit binary (non readable or decompiled) XML.
Fabulous tool on windows to create and modify elements of updates zips
Want to make an ADW theme? This is a great tool to get you started on that
You'll want some general knowledge with terminal or windows cmd prompt. Because you will use it. Also, you'll need to know what to edit in a theme to change aspects of color and such correctly. Well, this is a great tool to find out what you need to edit
I'll be adding to this guide as needed. Please, feel free to ask any questions, and I'll be here to answer them Hope this helps everyone!