ProGuard is the most popular optimizer for Java bytecode. It makes your Java and Android applications up to 90% smaller and up to 20% faster. ProGuard also provides minimal protection against reverse engineering by obfuscating the names of classes, fields and methods.
Proguard does a great job at obfuscating and optimizing java programs, and this is especially useful for Android apps. It's highly customizable as well with a ton of rules you can use.
What do you dislike?
Proguard is slow. Like really slow. You'll only want to use it for the builds you plan on sending to production. The language for writing proguard rules is very complex and its hard to find errors.
Recommendations to others considering the product
Really consider if you actually need to use Proguard -- it's kind of a pain to setup and use and it's slow to run. If you aren't really worried about someone finding out class names and variable names, then Proguard probably isn't for you.
What business problems are you solving with the product? What benefits have you realized?
Java code is easy to decompile, so Proguard adds an extra layer of security by obfuscating our code. It also optimizes the compiled Java code to make our Android apps run more efficiently.
* We monitor all ProGuard reviews to prevent fraudulent reviews and keep review quality high. We do not post reviews by company employees or direct competitors. Validated reviews require the user to submit a screenshot of the product containing their user ID, in order to verify a user is an actual user of the product.