-
The option -printusage prints out which classes, fields, and methods are removed in the (first) shrinking step. Note that the obfuscation step does not remove classes.
The option -whyareyoukeeping can print out why classes, fields, and methods are not removed.
The various reasons why classes and interfaces are not merged in the optimization step can be very technical. I currently don't...
2009-11-14 10:29:33 UTC by lafortune
-
You can display the contents of class files with
proguard.bat -injars mycode.jar(mypackage/MyClass.class) -dontshrink -dontoptimize -dontobfuscate -dontpreverify -dump
I'm not familiar with JSF, but you should check that the necessary classes, methods, and annotations are the same in the original code and in the processed code.
Eric.
2009-11-14 10:15:02 UTC by lafortune
-
Your configuration contained "-keep public class KerberosAuthApplet", yet you now seem to be calling "TestApplet" as an entry point.
The messages about missing classes look very suspicious. E.g., scala.StringBuilder is present in the scala-library.jar that I have. You should check that it is present in your version.
Eric.
2009-11-14 10:00:45 UTC by lafortune
-
Is it possible to know which are the interfaces, methods or classes which are removed after proguard operations.
Also, if some interface is not removed, any reason for why it was not removed report also helps.
Also summary of obfuscation, such as how many original classes existed and how many after obfuscation etc.. Some code improvement suggestions to make the obfuscation more effective...
2009-11-14 08:06:31 UTC by nagkumar
-
Eric, did you have any further thoughts on this problem?.
2009-11-13 23:49:25 UTC by judys
-
There aren't anymore obvious libraries to include, but I managed to pare down the errors using the source jars:
Warning: TestApplet: can't find superclass or interface scala.ScalaObject
Warning: TestApplet: can't find referenced class scala.StringBuilder
Warning: TestApplet: can't find referenced class scala.StringBuilder
Warning: TestApplet: can't find referenced class...
2009-11-13 06:02:24 UTC by edwardzyang
-
The option "-adaptresourcefilecontents META-INF/MANIFEST.MF" will update class names in this file. ProGuard will not update any other contents.
2009-11-12 23:32:17 UTC by lafortune
-
You'll have to investigate where the missing classes are. For instance, is scala.Nothing defined in scala-library.jar? If not, is it defined in some other jar that you can add?
I've had reports of developers successfully processing Scala applications, so it is possible.
Eric.
2009-11-12 23:29:24 UTC by lafortune
-
You're right -- thanks for the heads-up. I've fixed it for the upcoming ProGuard 4.5 beta3.
2009-11-12 01:29:39 UTC by lafortune
-
In the examples page of the documentation, under the header "All possible Android applications in the input jars", the configuration is shown, from the existing text: "We're keeping all classes that extend the base classes that may be referenced by the AndroidManifest.xml file of the application."
This is the keep configuration in the existing file:
-keep public class * extends...
2009-11-11 22:39:25 UTC by euroq