ProGuard
# ProGuard

ProGuard ist eine freie Software, die kompilierte Java-Dateien (Bytecode) komprimiert (shrinker), optimiert (optimizer) und ihre Dekompilierung erschwert (obfuscator). Des Weiteren erkennt und entfernt die Software nicht genutzte Kategorien, Felder und Attribute und trägt somit dazu bei, dass die JAR-Dateien kleiner werden und stabiler laufen.

## Funktionsumfang

ProGuard unterstützt alle Class-Dateien von Java Version 1.1 bis 18. Zudem können neben normalen Java-Anwendungen (J2SE) auch J2ME-Anwendungen optimiert werden.

Das Programm verfügt über eine Vielzahl von Optionen und eine ausführliche englischsprachige Dokumentation. Um das Optimieren von Java-Anwendungen zu erleichtern, wird es mit einem grafischen Assistenten ausgeliefert. Es kann aber auch über die Kommandozeile, als Ant-Task oder über Konfigurationsdateien benutzt werden.

## Android

ProGuard wird von Google für die Entwicklung von Android-Applikationen empfohlen und ist auch in das Build-System für Android integriert.

## Lizenzierung

ProGuard wurde unter den Bedingungen der GPL-Lizenz (Version 2 oder später) veröffentlicht, wobei zusätzlich für einige andere Programmierwerkzeuge (u. a. Ant und Maven) die GPL linking exception hinzugefügt wurde. Obwohl das Programm selbst freie Software ist, kann es auch benutzt werden, um proprietäre Anwendungen zu optimieren.

## Alternativen

Es gibt eine Reihe anderer, teils kommerzieller Programme, die wie ProGuard Java Bytecode komprimieren, optimieren und ihre Dekompilierung erschweren können. Viele davon werden auch auf der ProGuard Homepage gelistet. Erwähnenswert sind DashO, yGuard und Zelix Klassmaster.

