2013-08-22 03:32:49 +02:00
|
|
|
# We have moved -dontobfuscate and -dontoptimize to the makefiles.
|
2010-02-01 18:51:23 +01:00
|
|
|
# dex does not like code run through proguard optimize and preverify steps.
|
2013-08-22 03:32:49 +02:00
|
|
|
# -dontoptimize
|
2010-02-01 18:51:23 +01:00
|
|
|
-dontpreverify
|
|
|
|
|
|
|
|
# Don't obfuscate. We only need dead code striping.
|
2013-08-22 03:32:49 +02:00
|
|
|
# -dontobfuscate
|
2010-02-01 18:51:23 +01:00
|
|
|
|
|
|
|
# Add this flag in your package's own configuration if it's needed.
|
|
|
|
#-flattenpackagehierarchy
|
|
|
|
|
2022-08-03 01:05:03 +02:00
|
|
|
# Keep classes and methods that have @VisibleForTesting annotations, except in
|
|
|
|
# intermediate libraries that export those annotations (e.g., androidx, guava).
|
|
|
|
# This avoids keeping library-specific test code that isn't actually needed
|
|
|
|
# for platform testing.
|
|
|
|
# TODO(b/239961360): Migrate away from androidx.annotation.VisibleForTesting
|
|
|
|
# and com.google.common.annotations.VisibleForTesting use in platform code.
|
|
|
|
-keep @**.VisibleForTesting class !androidx.**,!com.google.common.**,*
|
|
|
|
-keepclassmembers class !androidx.**,!com.google.common.**,* {
|
|
|
|
@**.VisibleForTesting *;
|
2013-05-30 19:45:46 +02:00
|
|
|
}
|
2010-02-01 18:51:23 +01:00
|
|
|
|
2022-05-10 03:09:01 +02:00
|
|
|
# Keep rule for members that are needed solely to keep alive downstream weak
|
|
|
|
# references, and could otherwise be removed after tree shaking optimizations.
|
|
|
|
-keepclassmembers,allowaccessmodification,allowobfuscation,allowshrinking class * {
|
|
|
|
@com.android.internal.annotations.KeepForWeakReference <fields>;
|
|
|
|
}
|
|
|
|
|
2021-12-15 00:28:33 +01:00
|
|
|
# Understand the common @Keep annotation from various Android packages:
|
|
|
|
# * android.support.annotation
|
|
|
|
# * androidx.annotation
|
|
|
|
# * com.android.internal.annotations
|
|
|
|
-keep class **android**.annotation*.Keep
|
2019-03-26 17:48:28 +01:00
|
|
|
|
2021-12-15 00:28:33 +01:00
|
|
|
-keep @**android**.annotation*.Keep class * { *; }
|
2019-03-26 17:48:28 +01:00
|
|
|
|
|
|
|
-keepclasseswithmembers class * {
|
2021-12-15 00:28:33 +01:00
|
|
|
@**android**.annotation*.Keep <methods>;
|
2019-03-26 17:48:28 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
-keepclasseswithmembers class * {
|
2021-12-15 00:28:33 +01:00
|
|
|
@**android**.annotation*.Keep <fields>;
|
2019-03-26 17:48:28 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
-keepclasseswithmembers class * {
|
2021-12-15 00:28:33 +01:00
|
|
|
@**android**.annotation*.Keep <init>(...);
|
2019-03-26 17:48:28 +01:00
|
|
|
}
|
|
|
|
|
2013-05-17 19:02:00 +02:00
|
|
|
-include proguard_basic_keeps.flags
|