The main point you should consider is the efficacy of code obfuscation.
It merely makes it slightly harder to read your code. This does not mean it makes it impossible to read, nor impervious to penetration or hacking. Remember that eventually all code must run on your customers machine, and that code will be binary instruction codes of some sort.
Bottom line - make sure you understand why you want to obfuscate your code, and what you are accomplishing by that.
Once you made sure you're on the right track - see http://stackoverflow.com/questions/150653/java-obfuscation-proguard-yguard-other or any other related question.