Frage

Ich bin derzeit versucht, meinen Eclipse RCP Anwendung mit ProGuard zu verschleiern. Das Problem ist, dass es die Paketnamen verschleiert (die Klasse My.Package.Class verwandelt sich in so etwas wie a.b.c), behält aber die Paketnamen in der Export-Package Abschnitt MANIFEST.MF.

Dies führt zu der Tatsache, dass meine Anwendung (die eine Reihe von OSGi-Bundles ist, tatsächlich) kann nicht ausgeführt werden, da die Paketnamen angegeben in Export-Package Abschnitt MANIFEST.MFs können nicht aufgelöst werden.

Hat jemand hatte keinen Erfolg mit ProGuard eine OSGi-basierten RCP Anwendung verschleiern? Grundsätzlich sehe ich zwei Möglichkeiten: entweder komplett deaktivieren Paketnamen Verschleierung oder obfucate MANIFEST.MF Export-Paket Abschnitt, aber ich kann den Weg nicht finden, um einen von ihnen zu implementieren. Proguard scheint nur Bundle-Activator Klassennamen in MANIFEST.MF zu verschleiern, alle anderen Abschnitte zu überspringen. Vielen Dank im Voraus!

War es hilfreich?

Lösung

Schalten Sie Paketnamen Verschleierungs; Ich meine, was wichtige Geschäftswerte, die Sie durch aussetzen, die Welt die Paketnamen zu sagen?

Wenn das wirklich ein Problem ist, bewegt die gesamten Code in eine voll verschleierten Bibliothek und verwenden Sie die Bibliothek in einer nicht-verschleierten Plugin.

Wie gesagt, sollten Sie nicht Ihre Zeit mit Verschleierungs verschwenden alle an. Es wird Ihnen Zeit und Geld kosten und es ist fraglich, ob es ein Nutzen ist. Zu der Zeit, wenn Ihre Konkurrenten begonnen haben Ihre wertvolle Arbeit zu zerlegen, werden Sie die nächste Version zu schreiben. Warum also die Mühe machen?

Andere Tipps

OSGi-Bundle Verschleierung ist nicht eingebaut in von ProGuard unterstützt. Schauen Sie sich die Proguard Feature-Anfrage # 135 für weitere Informationen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top