diff --git a/core/proguard.flags b/core/proguard.flags index d8ad3bd628..1e3951b5f7 100644 --- a/core/proguard.flags +++ b/core/proguard.flags @@ -1,11 +1,3 @@ -# see http://sourceforge.net/tracker/?func=detail&aid=2787465&group_id=54750&atid=474707 --optimizations !code/simplification/arithmetic --optimizations !code/simplification/cast --allowaccessmodification - -# To prevent name conflict in incremental obfuscation. --useuniqueclassmembernames - # dex does not like code run through proguard optimize and preverify steps. -dontoptimize -dontpreverify @@ -16,8 +8,10 @@ # Add this flag in your package's own configuration if it's needed. #-flattenpackagehierarchy -# Some classes in the libraries extend package private classes to chare common functionality -# that isn't explicitly part of the API --dontskipnonpubliclibraryclasses -dontskipnonpubliclibraryclassmembers +# 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 diff --git a/core/proguard_basic_keeps.flags b/core/proguard_basic_keeps.flags index 049ce88315..0ce81ef119 100644 --- a/core/proguard_basic_keeps.flags +++ b/core/proguard_basic_keeps.flags @@ -1,3 +1,15 @@ +# see http://sourceforge.net/tracker/?func=detail&aid=2787465&group_id=54750&atid=474707 +-optimizations !code/simplification/arithmetic +-optimizations !code/simplification/cast +-allowaccessmodification + +# To prevent name conflict in incremental obfuscation. +-useuniqueclassmembernames + +# Some classes in the libraries extend package private classes to chare common functionality +# that isn't explicitly part of the API +-dontskipnonpubliclibraryclasses -dontskipnonpubliclibraryclassmembers + # For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations -keepclassmembers enum * { public static **[] values(); @@ -16,12 +28,6 @@ java.lang.Class class$(java.lang.String, boolean); } -# Keep classes and methods that have the guava @VisibleForTesting annotation --keep @com.google.common.annotations.VisibleForTesting class * --keepclassmembers class * { -@com.google.common.annotations.VisibleForTesting *; -} - # Keep serializable classes and necessary members for serializable classes # Copied from the ProGuard manual at http://proguard.sourceforge.net. -keepnames class * implements java.io.Serializable