BobStore/F-Droid/proguard-rules.pro
Hans-Christoph Steiner dc46bc2e84 update proguard config to not strip needed classes
This stops the stripping of classes required for the swap stuff.  proguard
strips all sorts of stuff that is needed because of things like dynamic
loading, reflection, etc.

fixes #391 https://gitlab.com/fdroid/fdroidclient/issues/391
2015-08-28 09:55:42 +02:00

39 lines
1.3 KiB
Prolog

-dontobfuscate
-dontoptimize
-keepattributes SourceFile,LineNumberTable,Exceptions
-keep class org.fdroid.fdroid.** {*;}
-dontskipnonpubliclibraryclassmembers
-dontwarn android.test.**
-dontwarn com.android.support.test.**
-dontwarn javax.naming.**
-dontnote android.support.**
-dontnote **ILicensingService
# The nature of the Java security suite implementations are that they use a
# lot of reflection to instantiate classes. The end result is that proguard
# excludes classes which may be required, depending on the security algorithms
# required by certain certificates.
# Reference: https://gitlab.com/fdroid/fdroidclient/issues/88
-keep class kellinwood.** {*;}
-keep class javax.jmdns.** {*;}
-keep class org.spongycastle.** {*;}
-keep class eu.chainfire.** {*;}
# This keeps class members used for SystemInstaller IPC.
# Reference: https://gitlab.com/fdroid/fdroidclient/issues/79
-keepclassmembers class * implements android.os.IInterface {
public *;
}
# Samsung Android 4.2 bug
# https://code.google.com/p/android/issues/detail?id=78377
-keepnames class !android.support.v7.internal.view.menu.**, ** {*;}
-keep public class android.support.v7.widget.** {*;}
-keep public class android.support.v7.internal.widget.** {*;}
-keep public class * extends android.support.v4.view.ActionProvider {
public <init>(android.content.Context);
}