...It optimizes bytecode and removes unused instructions. It renames the remaining classes, fields, and methods using short meaningless names.
ProGuard is useful for making code more compact and more efficient, on the desktop, on tablets, on smartphones, and on embedded devices. It also makes code more difficult to reverse engineer.