Die FAQ, auf die Sie verweisen, dient zum Verschleiern von NetBeans-Modulen. Dies ist ein recht komplizierter Anwendungsfall, so nehme ich an, dass es nicht die regelmäßige Anwendung ist Sie interessiert sind
Ganz kurz:. Der Verschleierungsprozess die Namen von Klassen, Methoden und Feldern wechselt zu erschweren um Ihre Anwendung zurückzuentwickeln.
Dies verursacht einige Probleme:
- die JVM Ihre Anwendung erfordert eine public static void main (String args []) in einer öffentlichen Klasse haben, so müssen Sie proguard sagen nicht, diesen Namen zu ändern
- , wenn Sie irgendeine Art von Selbstprüfung verwenden, müssen Sie die entsprechenden Namen schützen
- other cases geändert wird, wie im Handbuch
erklärt
Additionall y, proguard entfernt unbenutzten Code. Wenn Sie Klassen verwenden, die nicht direkt referenziert werden, müssen Sie auch -keep
.
Die Proguard-Dokumentation enthält eine example zur Verschleierung einer einfachen Anwendung. Hier ist das Beispiel erläuterte (mit einigen weniger verwirrenden Namen):
-injars application.jar # obfuscate all the classes in the named jars
-outjars obfuscated.jar # save all the obfuscated classes to the named jar
-libraryjars <java.home>/lib/rt.jar # these are all the libraries that the application uses
-printmapping obfuscation.map # save a file linking the original names to the obfuscated ones
# this helps understanding stack traces from the obfuscated application
# we need to keep our main class and the application entry point
-keep public class com.mycompany.Application {
public static void main(java.lang.String[]);
}
Sofern Sie -dontshrink
angeben, proguard entfernen wird jeder Code nicht eingehalten oder nicht referenziert von jedem Code gehalten. In der obigen Konfiguration wird also jeder Code entfernt, der nicht (indirekt) von der Hauptmethode referenziert wird.
Proguard enthält eine Ant-Task, die zur Integration in den NetBeans-Workflow verwendet werden kann. Ich würde vorschlagen, zuerst manuell, ohne Ant zu experimentieren, da dies einen der komplizierenden Faktoren aus dem Prozess nimmt. Erstellen Sie Ihr Application-Jar mit NetBeans und versuchen Sie dann, mit der obigen Konfiguration zu verschleiern (falls nötig, ausgearbeitet). Stellen Sie sicher, die verschleierte Anwendung zu testen, da unzählige Dinge schief gehen können. Sobald Sie eine funktionierende Proguard-Konfiguration haben, versuchen Sie, eine Ant-Task zu Ihrer Build-Datei hinzuzufügen, um den Verschleierungsprozess in NetBeans zu automatisieren.
Welches Stück dieser Seite verstehst du nicht? Verstehst du Ant? –