Neha Patil (Editor)

ProGuard (software)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Eric P.F. Lafortune

Written in
  
Java

Development status
  
Stable

Operating system
  
Cross-platform

Stable release
  
5.3.2 / September 2016; 6 months ago (2016-09)

Repository
  
sourceforge.net/p/proguard/code/ci/default/tree/

ProGuard is an open source command-line tool that shrinks, optimizes and obfuscates Java code. 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.

Contents

ProGuard is distributed as part of the Android SDK and runs when building the application in release mode.

Features

  • Bytecode-level optimizations;
  • Works with Java Micro Edition and Android;
  • Obfuscation

    ProGuard obfuscates Java and Android programs by renaming classes, fields, and methods using meaningless names, making it harder to reverse-engineer the final application.

    Optimization

    Besides removing unused instructions from the compiled bytecode, ProGuard optimizes it using techniques such as control flow analysis, data-flow analysis, partial evaluation, static single assignment, global value numbering, and liveness analysis.

    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, among others.

    References

    ProGuard (software) Wikipedia


    Similar Topics