blob: b3d2fe1565483ba2f4f3b86eb0b7afca31a7f9ca [file] [log] [blame]
Tor Norbye0bf1b2c2012-01-17 09:23:34 -08001# This is a configuration file for ProGuard.
2# http://proguard.sourceforge.net/index.html#manual/usage.html
3
Xavier Ducroheta89eaf92010-10-06 15:06:53 -07004-dontusemixedcaseclassnames
5-dontskipnonpubliclibraryclasses
Xavier Ducroheta89eaf92010-10-06 15:06:53 -07006-verbose
Tor Norbye5d30fda2012-01-11 17:54:20 -08007
Tor Norbye0bf1b2c2012-01-17 09:23:34 -08008# Optimization is turned off by default. Dex does not like code run
9# through the ProGuard optimize and preverify steps (and performs some
10# of these optimizations on its own).
Tor Norbye5d30fda2012-01-11 17:54:20 -080011-dontoptimize
12-dontpreverify
Xavier Ducroheta89eaf92010-10-06 15:06:53 -070013
Tor Norbye0bf1b2c2012-01-17 09:23:34 -080014# If you want to enable optimization, you should include the
15# following:
16# -optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
17# -optimizationpasses 5
18# -allowaccessmodification
19#
20# Note that you cannot just include these flags in your own
21# configuration file; if you are including this file, optimization
22# will be turned off. You'll need to either edit this file, or
23# duplicate the contents of this file and remove the include of this
24# file from your project's proguard.config path property.
25
26-keepattributes *Annotation*
Xavier Ducroheta89eaf92010-10-06 15:06:53 -070027-keep public class * extends android.app.Activity
28-keep public class * extends android.app.Application
29-keep public class * extends android.app.Service
30-keep public class * extends android.content.BroadcastReceiver
31-keep public class * extends android.content.ContentProvider
Tor Norbye5d30fda2012-01-11 17:54:20 -080032-keep public class * extends android.app.backup.BackupAgent
Xavier Ducrohet88dcd9a2010-11-15 14:14:55 -080033-keep public class * extends android.preference.Preference
Xavier Ducroheta89eaf92010-10-06 15:06:53 -070034-keep public class com.android.vending.licensing.ILicensingService
35
Tor Norbye5d30fda2012-01-11 17:54:20 -080036# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
Xavier Ducroheta89eaf92010-10-06 15:06:53 -070037-keepclasseswithmembernames class * {
38 native <methods>;
39}
40
Tor Norbye5d30fda2012-01-11 17:54:20 -080041-keep public class * extends android.view.View {
42 public <init>(android.content.Context);
43 public <init>(android.content.Context, android.util.AttributeSet);
44 public <init>(android.content.Context, android.util.AttributeSet, int);
45 public void set*(...);
46}
47
Tor Norbyeaef49b22011-06-10 13:58:35 -070048-keepclasseswithmembers class * {
Xavier Ducroheta89eaf92010-10-06 15:06:53 -070049 public <init>(android.content.Context, android.util.AttributeSet);
50}
51
Tor Norbyeaef49b22011-06-10 13:58:35 -070052-keepclasseswithmembers class * {
Xavier Ducroheta89eaf92010-10-06 15:06:53 -070053 public <init>(android.content.Context, android.util.AttributeSet, int);
54}
55
Tor Norbyeaef49b22011-06-10 13:58:35 -070056-keepclassmembers class * extends android.app.Activity {
57 public void *(android.view.View);
58}
59
Tor Norbye5d30fda2012-01-11 17:54:20 -080060# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
Xavier Ducroheta89eaf92010-10-06 15:06:53 -070061-keepclassmembers enum * {
62 public static **[] values();
63 public static ** valueOf(java.lang.String);
64}
65
66-keep class * implements android.os.Parcelable {
67 public static final android.os.Parcelable$Creator *;
68}
Tor Norbye5d30fda2012-01-11 17:54:20 -080069
70-keepclassmembers class **.R$* {
71 public static <fields>;
72}
73
74# The support library contains references to newer platform versions.
75# Don't warn about those in case this app is linking against an older
76# platform version. We know about them, and they are safe.
77-dontwarn android.support.**