github.com/westcoastroms/westcoastroms-build@v0.0.0-20190928114312-2350e5a73030/build/make/core/proguard_basic_keeps.flags (about)

     1  # see http://sourceforge.net/tracker/?func=detail&aid=2787465&group_id=54750&atid=474707
     2  -optimizations !code/simplification/arithmetic
     3  -optimizations !code/simplification/cast
     4  
     5  # To prevent name conflict in incremental obfuscation.
     6  -useuniqueclassmembernames
     7  
     8  # Some classes in the libraries extend package private classes to chare common functionality
     9  # that isn't explicitly part of the API
    10  -dontskipnonpubliclibraryclasses -dontskipnonpubliclibraryclassmembers
    11  
    12  # For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
    13  -keepclassmembers enum * {
    14      public static **[] values();
    15      public static ** valueOf(java.lang.String);
    16  }
    17  
    18  # For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
    19  -keepclasseswithmembernames class * {
    20      native <methods>;
    21  }
    22  
    23  # class$ methods are inserted by some compilers to implement .class construct,
    24  # see http://proguard.sourceforge.net/manual/examples.html#library
    25  -keepclassmembernames class * {
    26      java.lang.Class class$(java.lang.String);
    27      java.lang.Class class$(java.lang.String, boolean);
    28  }
    29  
    30  # Keep serializable classes and necessary members for serializable classes
    31  # Copied from the ProGuard manual at http://proguard.sourceforge.net.
    32  -keepnames class * implements java.io.Serializable
    33  -keepclassmembers class * implements java.io.Serializable {
    34      static final long serialVersionUID;
    35      private static final java.io.ObjectStreamField[] serialPersistentFields;
    36      !static !transient <fields>;
    37      private void writeObject(java.io.ObjectOutputStream);
    38      private void readObject(java.io.ObjectInputStream);
    39      java.lang.Object writeReplace();
    40      java.lang.Object readResolve();
    41  }
    42  
    43  # Keep Throwable's constructor that takes a String argument.
    44  -keepclassmembers class * extends java.lang.Throwable {
    45    <init>(java.lang.String);
    46  }
    47  
    48  # Please specify classes to be kept explicitly in your package's configuration.
    49  # -keep class * extends android.app.Activity
    50  # -keep class * extends android.view.View
    51  # -keep class * extends android.app.Service
    52  # -keep class * extends android.content.BroadcastReceiver
    53  # -keep class * extends android.content.ContentProvider
    54  # -keep class * extends android.preference.Preference
    55  # -keep class * extends android.app.BackupAgent
    56  
    57  # Parcelable CREATORs must be kept for Parcelable functionality
    58  -keep class * implements android.os.Parcelable {
    59    public static final ** CREATOR;
    60  }
    61  
    62  # The support library contains references to newer platform versions.
    63  # Don't warn about those in case this app is linking against an older
    64  # platform version.  We know about them, and they are safe.
    65  # See proguard-android.txt in the SDK package.
    66  #
    67  # DO NOT USE THIS: We figured it's dangerous to blindly ignore all support library warnings.
    68  # ProGuard may strip members of subclass of unknown super classes, in case an app is linking against
    69  # LOCAL_SDK_VERSION lower than the support library's LOCAL_SDK_VERSION.
    70  # See bug/20658265.
    71  # -dontwarn android.support.**
    72  
    73  # Less spammy.
    74  -dontnote