Hallo,
ich habe ein ziemlich nerviges Problem mit ProGuard, wenn ich eine .jar shrinken will. Ich fasse meinen Standpunkt kurz zusammen:
Ich habe eine ausführbare Jar, die ist um die 50 KB groß. Nun habe ich noch eine Funktionalität hinzugefügt, mit der man .ppt, .pptx und .odp Files lesen kann. Für diese Funktion brauche ich insgesamt 9 Libraries, wodurch die .jar auf 16MB anwächst.
Das ist natürlich viel zu groß, weil ich wirklich nur ein paar Klassen benutzen, die allerdings Abhängigkeiten zu anderen Libraries haben. Nun habe ich versucht das ganze mit ProGuard zu verkleinern - ohne Erfolg.
Ich benutze Eclipse als IDE und weiß schon nicht richtig, wie ich es am besten exportieren muss. Ich habe die 3 Optionen die Libraries in die .jar zu extrahieren, sie einfach in die .jar zu legen oder in einen Ordner neben die .jar.
Bei der ersten Variante macht Proguard Probleme und das Shrinken klappt einfach nicht. Bei der zweiten lässt der die Libraries in der .jar ohne sie zu shrinken und bei der dritten shrinkt er die .jar, allerdings lässt er auch die Libraries daneben und ich hätte sie allerdings gerne in der .jar geshrinkt.
Wie soll ich am besten vorgehen? Mein Ziel ist es, dass mein Programm so klein wie möglich ist und wirklich nur die Klassen aus den Libraries enthält, die es braucht und der Rest einfach rausfliegt. Wenn es ein anderes kostenloses Programm gibt, dass das kann, wäre ich auch zufrieden
Ich danke für jeden Tip!!!
Ich hänge auch mal die Fehlermeldungen zur ersten Variante an, vielleicht helfen sie. Ich habe versucht die Libraries auch nochmal extra anzugeben, allerdings hat das auch nicht geholfen.
ich habe ein ziemlich nerviges Problem mit ProGuard, wenn ich eine .jar shrinken will. Ich fasse meinen Standpunkt kurz zusammen:
Ich habe eine ausführbare Jar, die ist um die 50 KB groß. Nun habe ich noch eine Funktionalität hinzugefügt, mit der man .ppt, .pptx und .odp Files lesen kann. Für diese Funktion brauche ich insgesamt 9 Libraries, wodurch die .jar auf 16MB anwächst.
Das ist natürlich viel zu groß, weil ich wirklich nur ein paar Klassen benutzen, die allerdings Abhängigkeiten zu anderen Libraries haben. Nun habe ich versucht das ganze mit ProGuard zu verkleinern - ohne Erfolg.
Ich benutze Eclipse als IDE und weiß schon nicht richtig, wie ich es am besten exportieren muss. Ich habe die 3 Optionen die Libraries in die .jar zu extrahieren, sie einfach in die .jar zu legen oder in einen Ordner neben die .jar.
Bei der ersten Variante macht Proguard Probleme und das Shrinken klappt einfach nicht. Bei der zweiten lässt der die Libraries in der .jar ohne sie zu shrinken und bei der dritten shrinkt er die .jar, allerdings lässt er auch die Libraries daneben und ich hätte sie allerdings gerne in der .jar geshrinkt.
Wie soll ich am besten vorgehen? Mein Ziel ist es, dass mein Programm so klein wie möglich ist und wirklich nur die Klassen aus den Libraries enthält, die es braucht und der Rest einfach rausfliegt. Wenn es ein anderes kostenloses Programm gibt, dass das kann, wäre ich auch zufrieden
Ich danke für jeden Tip!!!
Ich hänge auch mal die Fehlermeldungen zur ersten Variante an, vielleicht helfen sie. Ich habe versucht die Libraries auch nochmal extra anzugeben, allerdings hat das auch nicht geholfen.
Code:
Warning: there were 10494 unresolved references to classes or interfaces.
You may need to specify additional library jars (using '-libraryjars').
Warning: there were 416 instances of library classes depending on program classes.
You must avoid such dependencies, since the program classes will
be processed, while the library classes will remain unchanged.
Warning: there were 7 unresolved references to program class members.
Your input classes appear to be inconsistent.
You may need to recompile them and try again.
Alternatively, you may have to specify the option
'-dontskipnonpubliclibraryclassmembers'.
Please correct the above warnings first.