Tweak proguard flags in the 2 files.

So all most commonly-used flags go to proguard_basic_keeps.flags
and they will still be applied when LOCAL_PROGUARD_ENABLED=nosystem.
Bug: 9203442

Change-Id: If018076dc625ac1efe31898b179dbba850218aaf
diff --git a/core/proguard_basic_keeps.flags b/core/proguard_basic_keeps.flags
index 049ce88..0ce81ef 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