-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) |