The only tool I know of that does this is simply called APKTool. It's command line based. It works, I used to use it to decompile the system ui apk on my rooted Galaxy S3 so I could modify the PNGs that make up the user interface and change the look of things.
But when you decompile an APK you're constantly breaking it's signature and it will no longer work unless repackaged correctly. It's a huge pain. In my experience, it's a very finicky and exhausting process to get it all to work.
here's a brief blog post about it (and links)
Also, search around the xda developers forum for the most accurate info on all that stuff. They know what they're doing over there.