blob: 3cc5c8a37c7b69086094c064a2b2f2b294a4c4c1 [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 Ducrohet249dc012012-05-25 16:27:34 -070027-keep public class com.google.vending.licensing.ILicensingService
Xavier Ducroheta89eaf92010-10-06 15:06:53 -070028-keep public class com.android.vending.licensing.ILicensingService
29
Tor Norbye5d30fda2012-01-11 17:54:20 -080030# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
Xavier Ducroheta89eaf92010-10-06 15:06:53 -070031-keepclasseswithmembernames class * {
32 native <methods>;
33}
34
Xavier Ducrohet249dc012012-05-25 16:27:34 -070035# keep setters in Views so that animations can still work.
36# see http://proguard.sourceforge.net/manual/examples.html#beans
37-keepclassmembers public class * extends android.view.View {
38 void set*(***);
39 *** get*();
Tor Norbye5d30fda2012-01-11 17:54:20 -080040}
41
Xavier Ducrohet249dc012012-05-25 16:27:34 -070042# We want to keep methods in Activity that could be used in the XML attribute onClick
Tor Norbyeaef49b22011-06-10 13:58:35 -070043-keepclassmembers class * extends android.app.Activity {
44 public void *(android.view.View);
45}
46
Tor Norbye5d30fda2012-01-11 17:54:20 -080047# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
Xavier Ducroheta89eaf92010-10-06 15:06:53 -070048-keepclassmembers enum * {
49 public static **[] values();
50 public static ** valueOf(java.lang.String);
51}
52
53-keep class * implements android.os.Parcelable {
54 public static final android.os.Parcelable$Creator *;
55}
Tor Norbye5d30fda2012-01-11 17:54:20 -080056
57-keepclassmembers class **.R$* {
58 public static <fields>;
59}
60
61# The support library contains references to newer platform versions.
62# Don't warn about those in case this app is linking against an older
63# platform version. We know about them, and they are safe.
64-dontwarn android.support.**