refactor proguard rules
// FREEBIE
This commit is contained in:
parent
87760a795d
commit
597f7bbafd
11 changed files with 99 additions and 7 deletions
24
build.gradle
24
build.gradle
|
@ -157,11 +157,31 @@ android {
|
|||
buildTypes {
|
||||
debug {
|
||||
minifyEnabled true
|
||||
proguardFiles 'proguard.cfg'
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'),
|
||||
'proguard-google-play-services.pro',
|
||||
'proguard-dagger.pro',
|
||||
'proguard-jackson.pro',
|
||||
'proguard-sqlite.pro',
|
||||
'proguard-appcompat-v7.pro',
|
||||
'proguard-square-okhttp.pro',
|
||||
'proguard-square-okio.pro',
|
||||
'proguard-spongycastle.pro',
|
||||
'proguard-rounded-image-view.pro',
|
||||
'proguard.cfg'
|
||||
}
|
||||
release {
|
||||
minifyEnabled true
|
||||
proguardFiles 'proguard.cfg'
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'),
|
||||
'proguard-google-play-services.pro',
|
||||
'proguard-dagger.pro',
|
||||
'proguard-jackson.pro',
|
||||
'proguard-sqlite.pro',
|
||||
'proguard-appcompat-v7.pro',
|
||||
'proguard-square-okhttp.pro',
|
||||
'proguard-square-okio.pro',
|
||||
'proguard-spongycastle.pro',
|
||||
'proguard-rounded-image-view.pro',
|
||||
'proguard.cfg'
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
}
|
||||
|
|
8
proguard-appcompat-v7.pro
Normal file
8
proguard-appcompat-v7.pro
Normal file
|
@ -0,0 +1,8 @@
|
|||
-keep public class android.support.v7.widget.** { *; }
|
||||
-keep public class android.support.v7.internal.widget.** { *; }
|
||||
# below line disabled due to LGE ROM bug.
|
||||
# -keep public class android.support.v7.internal.view.menu.** { *; }
|
||||
|
||||
-keep public class * extends android.support.v4.view.ActionProvider {
|
||||
public <init>(android.content.Context);
|
||||
}
|
20
proguard-dagger.pro
Normal file
20
proguard-dagger.pro
Normal file
|
@ -0,0 +1,20 @@
|
|||
-keepattributes *Annotation*,EnclosingMethod
|
||||
-keep @interface dagger.*,javax.inject.*
|
||||
-keep @dagger.Module class *
|
||||
-keepclassmembers class * {
|
||||
@javax.inject.* *;
|
||||
@dagger.* *;
|
||||
<init>();
|
||||
}
|
||||
-keepclasseswithmembernames class * {
|
||||
@javax.inject.* <fields>;
|
||||
}
|
||||
-keep class javax.inject.** { *; }
|
||||
-keep class **$$ModuleAdapter
|
||||
-keep class **$$InjectAdapter
|
||||
-keep class **$$StaticInjection
|
||||
|
||||
-keep class dagger.** { *; }
|
||||
-keep class * extends dagger.** { *; }
|
||||
-keep interface dagger.** {*;}
|
||||
-dontwarn dagger.internal.codegen.**
|
19
proguard-google-play-services.pro
Normal file
19
proguard-google-play-services.pro
Normal file
|
@ -0,0 +1,19 @@
|
|||
## Google Play Services 4.3.23 specific rules ##
|
||||
## https://developer.android.com/google/play-services/setup.html#Proguard ##
|
||||
|
||||
-keep class * extends java.util.ListResourceBundle {
|
||||
protected Object[][] getContents();
|
||||
}
|
||||
|
||||
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
|
||||
public static final *** NULL;
|
||||
}
|
||||
|
||||
-keepnames @com.google.android.gms.common.annotation.KeepName class *
|
||||
-keepclassmembernames class * {
|
||||
@com.google.android.gms.common.annotation.KeepName *;
|
||||
}
|
||||
|
||||
-keepnames class * implements android.os.Parcelable {
|
||||
public static final ** CREATOR;
|
||||
}
|
12
proguard-jackson.pro
Normal file
12
proguard-jackson.pro
Normal file
|
@ -0,0 +1,12 @@
|
|||
# Proguard configuration for Jackson 2.x (fasterxml package instead of codehaus package)
|
||||
|
||||
-keepattributes *Annotation*,EnclosingMethod,Signature
|
||||
-keepnames class com.fasterxml.jackson.** {
|
||||
*;
|
||||
}
|
||||
-keepnames interface com.fasterxml.jackson.** {
|
||||
*;
|
||||
}
|
||||
-dontwarn com.fasterxml.jackson.databind.**
|
||||
-keep class org.codehaus.** { *; }
|
||||
|
1
proguard-rounded-image-view.pro
Normal file
1
proguard-rounded-image-view.pro
Normal file
|
@ -0,0 +1 @@
|
|||
-dontwarn com.squareup.picasso.**
|
2
proguard-spongycastle.pro
Normal file
2
proguard-spongycastle.pro
Normal file
|
@ -0,0 +1,2 @@
|
|||
-keep class org.spongycastle.** {*;}
|
||||
-dontwarn javax.naming.**
|
2
proguard-sqlite.pro
Normal file
2
proguard-sqlite.pro
Normal file
|
@ -0,0 +1,2 @@
|
|||
-keep class org.sqlite.** { *; }
|
||||
-keep class org.sqlite.database.** { *; }
|
6
proguard-square-okhttp.pro
Normal file
6
proguard-square-okhttp.pro
Normal file
|
@ -0,0 +1,6 @@
|
|||
# OkHttp
|
||||
-keepattributes Signature
|
||||
-keepattributes *Annotation*
|
||||
-keep class com.squareup.okhttp.** { *; }
|
||||
-keep interface com.squareup.okhttp.** { *; }
|
||||
-dontwarn com.squareup.okhttp.**
|
5
proguard-square-okio.pro
Normal file
5
proguard-square-okio.pro
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Okio
|
||||
-keep class sun.misc.Unsafe { *; }
|
||||
-dontwarn java.nio.file.*
|
||||
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
|
||||
-dontwarn okio.**
|
|
@ -1,6 +1,3 @@
|
|||
-keepattributes **
|
||||
-keep class org.whispersystems.** { *; }
|
||||
-keep class org.thoughtcrime.securesms.** { *; }
|
||||
|
||||
-keep class !com.afollestad.materialdialogs.**,!com.nineoldandroids.**,!org.spongycastle.crypto.tls.**,!com.doomonafireball.betterpickers.**,!org.w3c.**,!android.support.v7.internal.view.menu.**,!org.spongycastle.asn1.**,!org.spongycastle.crypto.ec.**,!org.spongycastle.x509.**,!org.spongycastle.crypto.agreement.**,!org.spongycastle.crypto.ec.**,!org.spongycastle.math.**,!org.spongycastle.pqc.**,!org.spongycastle.jcajce.provider.asymmetric.**,!org.apache.http.**,** {*;}
|
||||
-dontpreverify
|
||||
-dontoptimize
|
||||
-dontwarn **
|
||||
|
|
Loading…
Add table
Reference in a new issue