ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It optimizes bytecode and renames the classes, files, methods, and variables using the short meaningless name. In addition, it also optimizes the code and detects unused classes, methods, attributes, and unused instructions. It is also suitable for Android and Kotlin.