Share

ProGuard Java Optimizer and Obfuscator

Code

Programming Languages: Java

License: GNU General Public License (GPL)

Show:

What's happening?

  • Followup: RE: Report of Interfaces removed

    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

  • Followup: RE: Managed beans in JSF 2

    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

  • Followup: RE: Using ProGuard to bundle jars together

    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

  • Report of Interfaces removed

    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

  • Followup: RE: Managed beans in JSF 2

    Eric, did you have any further thoughts on this problem?.

    2009-11-13 23:49:25 UTC by judys

  • Followup: RE: Using ProGuard to bundle jars together

    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

  • Comment: Is it possible to modify contents in META file?

    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

  • Followup: RE: Using ProGuard to bundle jars together

    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

  • Comment: Documentation for Android examples is missing one thing

    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

  • Documentation for Android examples is missing one thing

    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