ProGuard is an open source command-line tool which shrinks, optimizes and obfuscates Java code. It was created by Belgian software engineer Eric Lafortune and later formed the basis of Guardsquare, the mobile application security company he co-founded. It is able to optimize bytecode as well as detect and remove unused instructions. ProGuard is free software and is distributed under the GNU General Public License, version 2.
It renames the remaining classes, fields, and methods using short meaningless names. ❓ Getting Help Please use the issue tracker to report actual bugs 🐛, crashes , etc. Typically, you'll put most options in a configuration file (say, myconfig.pro ), and just call All available options are described in the configuration section of the manual. ProGuard can be run as a task in Gradle. Before you can use the proguard task, you have to make sure Gradle can find it in its class path at build time. One way is to add the following line to your build.gradle file which will download ProGuard from Maven Central: The embedded configuration is much like a standard ProGuard configuration. You can find more details on the Gradle setup page. ProGuard works like an advanced optimizing compiler, removing unused classes, fields, methods, and attributes, shortening identifiers, merging classes, inlining methods, propagating constants, removing unused parameters, etc. The optimizations may also improve the performance of the application, by up to 20%. For Java virtual machines on servers and desktops, the difference generally isn't noticeable. ProGuard can also remove logging code, from applications and their libraries, without needing to change the source code — in fact, without needing the source code at all! The manual pages (markdown, html) cover the features and usage of ProGuard in detail. Building ProGuard is easy - you'll just need a Java 8 JDK installed. To build from source, clone a copy of the ProGuard repository and run the following command: The artifacts will be generated in the lib directory. You can then execute ProGuard using the scripts in bin , for example: Contributions, issues and feature requests are welcome in both projects. Feel free to check the issues page and the contributing guide if you would like to contribute.
Excerpt from the source-code README · 5,976 chars · not written by Vinony
~2 min read
ProGuard is an open source command-line tool which shrinks, optimizes and obfuscates Java code. It was created by Belgian software engineer Eric Lafortune and later formed the basis of Guardsquare, the mobile application security company he co-founded. It is able to optimize bytecode as well as detect and remove unused instructions. ProGuard is free software and is distributed under the GNU General Public License, version 2.
ProGuard was distributed as part of the Android SDK and ran when building the application in release mode.
via Wikidata · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).