@filename |
Short for '-includefilename'. |
-include filename |
Read configuration options from the given file. |
-basedirectory directoryname |
Specifies the base directory for subsequent relative file names. |
-injars class_path |
Specifies the program jars (or wars, ears, zips, or directories). |
-outjars class_path |
Specifies the names of the output jars (or wars, ears, zips, or directories). |
-libraryjars class_path |
Specifies the library jars (or wars, ears, zips, or directories). |
-skipnonpubliclibraryclasses |
Ignore non-public library classes. |
-dontskipnonpubliclibraryclasses |
Don't ignore non-public library classes (the default). |
-dontskipnonpubliclibraryclassmembers |
Don't ignore package visible library class members. |
-keepdirectories [directory_filter] |
Keep the specified directories in the output jars (or wars, ears, zips, or directories). |
-target version |
Set the given version number in the processed classes. |
-forceprocessing |
Process the input, even if the output seems up to date. |
-keep [,modifier,...] class_specification |
Preserve the specified classes and class members. |
-keepclassmembers [,modifier,...] class_specification |
Preserve the specified class members, if their classes are preserved as well. |
-keepclasseswithmembers [,modifier,...] class_specification |
Preserve the specified classes and class members, if all of the specified class members are present. |
-keepnames class_specification |
Preserve the names of the specified classes and class members (if they aren't removed in the shrinking step). |
-keepclassmembernames class_specification |
Preserve the names of the specified class members (if they aren't removed in the shrinking step). |
-keepclasseswithmembernames class_specification |
Preserve the names of the specified classes and class members, if all of the specified class members are present (after the shrinking step). |
-printseeds [filename] |
List classes and class members matched by the various -keep options, to the standard output or to the given file. |
-dontshrink |
Don't shrink the input class files. |
-printusage [filename] |
List dead code of the input class files, to the standard output or to the given file. |
-whyareyoukeeping class_specification |
Print details on why the given classes and class members are being kept in the shrinking step. |
-dontoptimize |
Don't optimize the input class files. |
-optimizations optimization_filter |
The optimizations to be enabled and disabled. |
-optimizationpasses n |
The number of optimization passes to be performed. |
-assumenosideeffects class_specification |
Assume that the specified methods don't have any side effects, while optimizing. |
-allowaccessmodification |
Allow the access modifiers of classes and class members to be modified, while optimizing. |
-mergeinterfacesaggressively |
Allow any interfaces to be merged, while optimizing. |
-dontobfuscate |
Don't obfuscate the input class files. |
-printmapping [filename] |
Print the mapping from old names to new names for classes and class members that have been renamed, to the standard output or to the given file. |
-applymapping filename |
Reuse the given mapping, for incremental obfuscation. |
-obfuscationdictionary filename |
Use the words in the given text file as obfuscated field names and method names. |
-classobfuscationdictionary filename |
Use the words in the given text file as obfuscated class names. |
-packageobfuscationdictionary filename |
Use the words in the given text file as obfuscated package names. |
-overloadaggressively |
Apply aggressive overloading while obfuscating. |
-useuniqueclassmembernames |
Ensure uniform obfuscated class member names for subsequent incremental obfuscation. |
-dontusemixedcaseclassnames |
Don't generate mixed-case class names while obfuscating. |
-keeppackagenames [package_filter] |
Keep the specified package names from being obfuscated. |
-flattenpackagehierarchy [package_name] |
Repackage all packages that are renamed into the single given parent package. |
-repackageclasses [package_name] |
Repackage all class files that are renamed into the single given package. |
-keepattributes [attribute_filter] |
Preserve the given optional attributes; typically Exceptions, InnerClasses, Signature, Deprecated, SourceFile, SourceDir, LineNumberTable, LocalVariableTable, LocalVariableTypeTable, Synthetic, EnclosingMethod, and *Annotation*. |
-keepparameternames |
Keep the parameter names and types of methods that are kept. |
-renamesourcefileattribute [string] |
Put the given constant string in the SourceFile attributes. |
-adaptclassstrings [class_filter] |
Adapt string constants in the specified classes, based on the obfuscated names of any corresponding classes. |
-adaptresourcefilenames [file_filter] |
Rename the specified resource files, based on the obfuscated names of the corresponding class files. |
-adaptresourcefilecontents [file_filter] |
Update the contents of the specified resource files, based on the obfuscated names of the processed classes. |
-dontpreverify |
Don't preverify the processed class files. |
-microedition |
Target the processed class files at Java Micro Edition. |
-verbose |
Write out some more information during processing. |
-dontnote [class_filter] |
Don't print notes about potential mistakes or omissions in the configuration. |
-dontwarn [class_filter] |
Don't warn about unresolved references at all. |
-ignorewarnings |
Print warnings about unresolved references, but continue processing anyhow. |
-printconfiguration [filename] |
Write out the entire configuration in traditional ProGuard style, to the standard output or to the given file. |
-dump [filename] |
Write out the internal structure of the processed class files, to the standard output or to the given file. |