# ProGuard usage for DAVdroid: # shrinking yes (main reason for using ProGuard) # optimization yes # obfuscation no (DAVdroid is open-source) # preverification no -dontobfuscate -optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/* -optimizationpasses 5 -allowaccessmodification -dontpreverify # ez-vcard -dontwarn ezvcard.io.json.** # JSON serializer (for jCards) not used -dontwarn freemarker.** # freemarker templating library (for creating hCards) not used -dontwarn org.jsoup.** # jsoup library (for hCard parsing) not used -dontwarn sun.misc.Perf -keep class ezvcard.property.** { *; } # keep all VCard properties (created at runtime) # ical4j: ignore unused dynamic libraries -dontwarn aQute.** -dontwarn groovy.** # Groovy-based ContentBuilder not used -dontwarn org.codehaus.groovy.** -dontwarn net.fortuna.ical4j.model.** # ignore warnings from Groovy dependency -keep class net.fortuna.ical4j.** { *; } # keep all model classes (properties/factories, created at runtime) # okhttp -dontwarn java.nio.file.** # not available on Android -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement # DAVdroid + libs -keep class at.bitfire.** { *; } # all DAVdroid code is required # Spongcastle -dontwarn org.spongycastle.jce.provider.X509LDAPCertStoreSpi -dontwarn org.spongycastle.x509.util.LDAPStoreHelper -keep class org.spongycastle.crypto.BufferedBlockCipher -keep class org.spongycastle.crypto.CipherParameters -keep class org.spongycastle.crypto.InvalidCipherTextException -keep class org.spongycastle.crypto.digests.SHA256Digest -keep class org.spongycastle.crypto.engines.AESEngine -keep class org.spongycastle.crypto.generators.SCrypt -keep class org.spongycastle.crypto.macs.HMac -keep class org.spongycastle.crypto.modes.CBCBlockCipher -keep class org.spongycastle.crypto.paddings.BlockCipherPadding -keep class org.spongycastle.crypto.paddings.PKCS7Padding -keep class org.spongycastle.crypto.paddings.PaddedBufferedBlockCipher -keep class org.spongycastle.crypto.params.KeyParameter -keep class org.spongycastle.crypto.params.ParametersWithIV -keep class org.spongycastle.util.encoders.Hex