Now classes.dex is too big for running on Android 2.3 devices, let's minimize the code

after compilation
This commit is contained in:
serso 2015-01-27 12:38:47 +01:00
parent 78ec63491d
commit 1f8bac8276
3 changed files with 135 additions and 0 deletions

View File

@ -39,6 +39,10 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard.cfg' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard.cfg'
zipAlignEnabled true zipAlignEnabled true
} }
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-debug.cfg'
}
} }
lintOptions { lintOptions {
abortOnError false abortOnError false

View File

@ -0,0 +1,130 @@
-target 1.6
-dontobfuscate
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-repackageclasses ''
-allowaccessmodification
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!code/allocation/variable
-keepattributes *Annotation*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.view.View {
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
public void set*(...);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.content.Context {
public void *(android.view.View);
public void *(android.view.MenuItem);
}
-keepclassmembers class * implements android.os.Parcelable {
static android.os.Parcelable$Creator CREATOR;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep @org.simpleframework.xml.Root public class * {
*;
}
-dontwarn javax.xml.stream.**
-dontwarn com.bea.xml.stream.**
-dontwarn sun.misc.Unsafe
-dontwarn android.annotation.TargetApi
-dontwarn org.solovyev.common.math.visualisation.**
-dontwarn org.solovyev.common.math.graph.**
-dontwarn org.solovyev.common.math.algorithms.**
-dontwarn org.solovyev.common.drawing.**
-dontwarn org.joda.**
-dontwarn jscl.mathml.**
-dontwarn com.google.common.collect.MinMaxPriorityQueue
-dontwarn com.google.ads.**
-dontwarn com.sun.org.apache.xerces.internal.impl.dv.util.Base64
-dontwarn com.actionbarsherlock.BuildConfig
-dontwarn com.google.android.gms.**
-dontwarn com.melnykov.fab.**
-keep class org.simpleframework.xml.** { *; }
-keep class * implements org.solovyev.android.calculator.model.MathPersistenceEntity
-keep class * implements org.solovyev.android.calculator.MathEntityPersistenceContainer
#
#*********************************************************************
#
# SHERLOCK
#
#*********************************************************************
#
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }
#
#*********************************************************************
#
# ACRA
#
#*********************************************************************
#
# we need line numbers in our stack traces otherwise they are pretty useless
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
# ACRA needs "annotations" so add this...
-keepattributes *Annotation*
# keep this class so that logging will show 'ACRA' and not a obfuscated name like 'a'.
# Note: if you are removing log messages elsewhere in this file then this isn't necessary
-keep class org.acra.ACRA {
*;
}
-keep class org.acra.ReportField {
*;
}
# keep this around for some enums that ACRA needs
-keep class org.acra.ReportingInteractionMode {
*;
}
# keep this otherwise it is removed by ProGuard
-keep public class org.acra.ErrorReporter
{
public void addCustomData(java.lang.String,java.lang.String);
}
# keep this otherwise it is removed by ProGuard
-keep public class org.acra.ErrorReporter
{
public org.acra.ErrorReporter$ReportsSenderWorker handleSilentException(java.lang.Throwable);
}

View File

@ -65,6 +65,7 @@
-dontwarn com.sun.org.apache.xerces.internal.impl.dv.util.Base64 -dontwarn com.sun.org.apache.xerces.internal.impl.dv.util.Base64
-dontwarn com.actionbarsherlock.BuildConfig -dontwarn com.actionbarsherlock.BuildConfig
-dontwarn com.google.android.gms.** -dontwarn com.google.android.gms.**
-dontwarn com.melnykov.fab.**
-keep class org.simpleframework.xml.** { *; } -keep class org.simpleframework.xml.** { *; }
-keep class * implements org.solovyev.android.calculator.model.MathPersistenceEntity -keep class * implements org.solovyev.android.calculator.model.MathPersistenceEntity