OSDN Git Service

Update Security String to 2016-12-01 am: bacdf263ee am: c8ce9e6e00
[android-x86/build.git] / core / proguard_basic_keeps.flags
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