Google is suggesting that developers might want to obfuscate byte code:
http://android-developers.blogspot.com/2010/09/proguard-android-and-licensing-server.html
I followed Google's instructions to get an obfuscated Android app that, at first glance, seemed to work. But there were some strange bugs introduced that are not in the un-obfuscated app. I kept turning off ProGuard options to get to this configuration:
-dontoptimize -dontshrink -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose
Still the bugs are there. Is there anything else I can turn off to get only pure obfuscation? Obfuscation would be nice, but I am willing to turn off ProGuard's other features.
This is what I use:
It obfuscates but keeps public the public methods and class name of classes needed by Android. As you requested it does not optimize - optimizations are more likely to break your program due to removed methods and constructors.
If you want to try out including optimizations here's what I do (remember to remove the -dontoptimize option above)
I use proguard 4.5, but other versions probably work just as well.