7311a344be
With this change, use: * LOCAL_PROGUARD_ENABLED := obfuscation # to enable obfuscation * LOCAL_PROGUARD_ENABLED := optimization # to enable optimization * LOCAL_PROGUARD_ENABLED := obfuscation optimization # to enable both Now the meaning of the LOCAL_PROGUARD_ENABLED options: * full: Use the build system's default configurations: with shrink but no obfuscation or optimization, global proguard flags in build/core/proguard.flags are applied. * custom: The same as "full" except no aapt-generated resource-related proguard flags. * nosystem: Don't use any build system's default configurations; but aapt-generated proguard flags are still applied. You are responsible for any other flags. * disabled: Disable proguard. * obfuscation: The same as "full" but with obfuscation enabled. * optimization: The same as "full" but with optimization enabled. * no value (the default): The build system chooses the proper value: "full" if it's an app; "disabled" if it's a library. You can use more than 1 of them in a meaningful combination, for example: LOCAL_PROGUARD_ENABLED := obfuscation optimization Bug: 10307372 Change-Id: Id248caca3048e99547f16559fae74f4afe85c354
18 lines
599 B
Text
18 lines
599 B
Text
# We have moved -dontobfuscate and -dontoptimize to the makefiles.
|
|
# dex does not like code run through proguard optimize and preverify steps.
|
|
# -dontoptimize
|
|
-dontpreverify
|
|
|
|
# Don't obfuscate. We only need dead code striping.
|
|
# -dontobfuscate
|
|
|
|
# Add this flag in your package's own configuration if it's needed.
|
|
#-flattenpackagehierarchy
|
|
|
|
# Keep classes and methods that have the guava @VisibleForTesting annotation
|
|
-keep @com.google.common.annotations.VisibleForTesting class *
|
|
-keepclassmembers class * {
|
|
@com.google.common.annotations.VisibleForTesting *;
|
|
}
|
|
|
|
-include proguard_basic_keeps.flags
|