ProGuard is an open source command-line tool which shrinks, optimizes and obfuscates Java code.
[4] ProGuard is free software and is distributed under the GNU General Public License, version 2.
[3] ProGuard was distributed as part of the Android SDK and ran when building the application in release mode.
[5] ProGuard obfuscates Java and Android programs by renaming classes, fields, and methods using meaningless names (an implementation of security through obscurity), making it more difficult to reverse-engineer the final application.
[6] ProGuard can remove many types of unused and duplicated code, perform over 200 peephole optimizations, reduce variable allocation, inline constant and short methods, simplify tail recursion calls, remove logging code, amongst others.