1*344a7f5eSAndroid Build Coastguard Worker -keep public class * extends android.app.Instrumentation { 2*344a7f5eSAndroid Build Coastguard Worker <init>(); 3*344a7f5eSAndroid Build Coastguard Worker } 4*344a7f5eSAndroid Build Coastguard Worker -keep public class * extends android.app.Application { 5*344a7f5eSAndroid Build Coastguard Worker <init>(); 6*344a7f5eSAndroid Build Coastguard Worker void attachBaseContext(android.content.Context); 7*344a7f5eSAndroid Build Coastguard Worker } 8*344a7f5eSAndroid Build Coastguard Worker -keep public class * extends android.app.Activity { 9*344a7f5eSAndroid Build Coastguard Worker <init>(); 10*344a7f5eSAndroid Build Coastguard Worker } 11*344a7f5eSAndroid Build Coastguard Worker -keep public class * extends android.app.Service { 12*344a7f5eSAndroid Build Coastguard Worker <init>(); 13*344a7f5eSAndroid Build Coastguard Worker } 14*344a7f5eSAndroid Build Coastguard Worker -keep public class * extends android.content.ContentProvider { 15*344a7f5eSAndroid Build Coastguard Worker <init>(); 16*344a7f5eSAndroid Build Coastguard Worker } 17*344a7f5eSAndroid Build Coastguard Worker -keep public class * extends android.content.BroadcastReceiver { 18*344a7f5eSAndroid Build Coastguard Worker <init>(); 19*344a7f5eSAndroid Build Coastguard Worker } 20*344a7f5eSAndroid Build Coastguard Worker -keep public class * extends android.app.backup.BackupAgent { 21*344a7f5eSAndroid Build Coastguard Worker <init>(); 22*344a7f5eSAndroid Build Coastguard Worker } 23*344a7f5eSAndroid Build Coastguard Worker# We need to keep all annotation classes because proguard does not trace annotation attribute 24*344a7f5eSAndroid Build Coastguard Worker# it just filter the annotation attributes according to annotation classes it already kept. 25*344a7f5eSAndroid Build Coastguard Worker -keep public class * extends java.lang.annotation.Annotation { 26*344a7f5eSAndroid Build Coastguard Worker *; 27*344a7f5eSAndroid Build Coastguard Worker } 28