-allowaccessmodification |
Allows R8 to change access modifiers, enabling additional optimizations and additional reorganizations to packages in which classes are contained. (ProGuard docs) |
-assumenosideeffects <class-spec> |
Informs R8 it can safely remove calls to the specified method(s) during optimization. If the method returns a value that appears to be used, the call may not be removed. Note that this rule is ignored if -dontoptimize is also configured. (ProGuard docs) |
-dontobfuscate |
Do not apply renaming, regardless of other configuration. (ProGuard docs) |
-dontoptimize |
Do not optimize the code, regardless of other configuration. This is part of the default configuration. (ProGuard docs) |
-dontshrink |
Do not remove any classes, methods, or fields, regardless of other configuration. (ProGuard docs) |
-include <filename> |
Include configuration from file with filename filename . (ProGuard docs) |
-keepattributes [<filter>] |
Allows you to specify supported Java™ attributes for R8 to retain in the code. Unlike ProGuard, R8 does not respect rules regarding Synthetic , Deprecated , or MethodParameters and will remove these attributes regardless of what is configured in -keepattributes . Also, for class version 50 (Java 6), R8 will keep a StackMapTable attribute only if StackMapTable is covered by -keepattributes ; it is always kept for later class versions. (ProGuard docs) (See issue) |
-printconfiguration [<file>] |
Outputs the used configuration rules to the specified file, or to stdout if there is no file specified. Note that if you specify a file, every build of a variant using this rule will overwrite that file. (ProGuard docs) |
-printseeds [<filename>] |
Outputs a list of the classes, methods, and fields which match the keep rules to the specified file, or to stdout if there is no file specified. Note that if you specify a file, every build of a variant using this rule will overwrite that file. Note that unlike ProGuard, R8 will not automatically output a build/outputs/mapping[/{flavorName}]/{buildType}/seeds.txt file. (ProGuard docs) |
-printusage [<filename>] |
Outputs a list of the classes, methods, and fields which were removed during shrinking to the specified file, or to stdout if there is no file specified. Note that if you specify a file, every build of a variant using this rule will overwrite that file. Note that unlike ProGuard, R8 will not automatically output a build/outputs/mapping[/{flavorName}]/{buildType}/usage.txt file. (ProGuard docs) |