Proguard und Windows - und ganz eigene Fehlermeldungen
Nun bin ich dabei, eine Eclipse RCP-Applikation zu exportieren. Und dabei wird sie mit obfuscate4e und dem eingebauten Proguard-Obfuskator verarbeitet. Ich sitze an einem Windows-PC und bekomme Fehlermeldungen, die ich zuvor (beim Produktexport unter Linux) nicht kannte: ClassNotFoundExceptions in obfuskierten Packages. Nach der Recherche im Mappingfile proguard.map und im obfuskierten Plugin-Jar zeigte, dass Proguard in der Voreinstellung die ersten 26 Klassen eines Packages in "a.class" bis "z.class" umbenennt und dann mit Großbuchstaben weitermacht: "A.class" bis "Z.class". Beim Produktexport werden die generieten Jars noch mal ausgepackt – und schon sind die Kleinbuchstaben-Klassen unter Windows weg.
Abhilfe schaffte das Einsetzen des Schalters -dontusemixedcaseclassnames in der Proguard-Konfiguration, und schon macht Proguard bei der 27. Klasse eines Packages mit "aa.class" weiter. Das sollte m.E. Voreinstellung sein!
Einen interessanten Workaround fand ich bei http://osdir.com/ml/java.sun.kvm/2003-09/msg00083.html :
If you have more than 26 files,create another package and place the rest 26 files and so on.
Klasse!




