Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

ProGuard

From Wikipedia, the free encyclopedia

ProGuard
DeveloperEric P.F. Lafortune[1]
ReleaseJune 2002; 24 years ago (2002-06)[2]
Stable release
7.9.1[3] Edit this on Wikidata / 9 April 2026; 3 months ago (9 April 2026)
Written inJava
Operating systemCross-platform
LicenseGPLv2.0[4]
Websitewww.guardsquare.com/en/products/proguard
Repository

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.[5] It is able to optimize bytecode as well as detect and remove unused instructions.[6] ProGuard is free software and is distributed under the GNU General Public License, version 2.[4]

ProGuard was distributed as part of the Android SDK and ran when building the application in release mode.[7]

Features

[edit source]

Obfuscation Method

[edit source]

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.[8]

Optimization

[edit source]

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.[8]

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.[8]

See also

[edit source]

References

[edit source]
  1. "Eric Lafortune home page". Retrieved November 24, 2015.
  2. "ProGuard Manual: Version History". Retrieved June 19, 2026.
  3. "Release 7.9.1". April 9, 2026. Retrieved April 10, 2026.
  4. 1 2 "ProGuard license page". February 2, 2015. Retrieved November 24, 2015.
  5. "Battery Ventures pays $29 million for a majority stake in Belgium's Guardsquare". Tech.eu. January 30, 2019. Retrieved March 31, 2026.
  6. "ProGuard overview (official page)". February 2, 2015. Retrieved November 24, 2015.
  7. "Shrink your code and resources". Retrieved June 10, 2018.
  8. 1 2 3 "ProGuard FAQ". February 2, 2015. Archived from the original on October 28, 2016. Retrieved November 24, 2015.