# Add project specific ProGuard rules here. # You can control the set of applied configuration files using the # proguardFiles setting in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} # Uncomment this to preserve the line number information for # debugging stack traces. #-keepattributes SourceFile,LineNumberTable #-dontoptimize #-dontusemixedcaseclassnames #-dontskipnonpubliclibraryclasses #-verbose #-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/* #-optimizationpasses 5 #-repackageclasses '' #-flattenpackagehierarchy com.examp.three #-allowaccessmodification -obfuscationdictionary method-dictionary.txt -packageobfuscationdictionary package-dictionary.txt -classobfuscationdictionary class-dictionary.txt #-dump ../bin/class_files.txt #-printseeds ../bin/seeds.txt #-printusage ../bin/unused.txt #-printmapping ../bin/mapping.txt #Gson # removes such information by default, so configure it to keep all of it. #-keepattributes Signature # For using GSON @Expose annotation #-keepattributes *Annotation* # Gson specific classes #-dontwarn sun.misc.** # Prevent R8 from leaving Data object members always null #-keepclassmembers,allowobfuscation class * { # @com.google.gson.annotations.SerializedName ; #} -dontwarn org.xmlpull.v1.XmlPullParser -dontwarn org.xmlpull.v1.XmlSerializer -keep class org.xmlpull.v1.* {*;} -keep class com.example.retailapllication.bean** { *; } -keepclassmembers class com.example.retailapllication.bean** { *; } -keep class com.example.retailapllication.bean.new_api** { *; } -keepclassmembers class com.example.retailapllication.bean.new_api** { *; } -keep class com.example.retailapllication.bean.new_api_hold_filter** { *; } -keepclassmembers class com.example.retailapllication.bean.new_api_hold_filter** { *; } -keep class com.example.retailapllication.api.ImageResponse** { *; } -keepclassmembers class com.example.retailapllication.api.ImageResponse** { *; } -keep class com.example.retailapllication.zipcode.PincodeResponse** { *; } -keepclassmembers class com.example.retailapllication.zipcode.PincodeResponse** { *; } -keep class com.example.retailapllication.masters.productmaster.beanMain { *; } -keepclassmembers class com.example.retailapllication.zipcode.PincodeResponse** { *; } # Uncomment this to preserve the line number information for # debugging stack traces. -dontwarn okhttp3.** -dontwarn okio.** -dontwarn com.fasterxml.jackson.databind.** -keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel { (android.app.Application); } #ITEXT PDF -keep class org.spongycastle.** { *; } -dontwarn org.spongycastle.** -keep class com.itextpdf.** { *; } -keep class javax.xml.crypto.dsig.** { *; } -dontwarn javax.xml.crypto.dsig.** -keep class org.apache.jcp.xml.dsig.internal.dom.** { *; } -dontwarn org.apache.jcp.xml.dsig.internal.dom.** #-keep class javax.imageio.** { *; } #-dontwarn javax.imageio.** -keep class javax.xml.crypto.dom.** { *; } -dontwarn javax.xml.crypto.dom.** -keep class org.apache.xml.security.utils.** { *; } -dontwarn org.apache.xml.security.utils.** -keep interface com.itextpdf.** -dontwarn com.itextpdf.** #OK HTTP -keepattributes Signature -keepattributes Annotation -keep class okhttp3.** { *; } -keep interface okhttp3.** { *; } -dontwarn okhttp3.** -dontwarn okio.** -dontwarn javax.imageio.spi.ImageInputStreamSpi -dontwarn javax.imageio.spi.ImageOutputStreamSpi -dontwarn javax.imageio.spi.ImageReaderSpi -dontwarn javax.imageio.spi.ImageWriterSpi # JSR 305 annotations are for embedding nullability information. -dontwarn javax.annotation.** # A resource is loaded with a relative path so the package of this class must be preserved. -keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase # Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java. -dontwarn org.codehaus.mojo.animal_sniffer.* # OkHttp platform used only on JVM and when Conscrypt dependency is available. -dontwarn okhttp3.internal.platform.ConscryptPlatform -dontwarn org.apache.commons.** -keep class org.apache.http.** { *; } -dontwarn org.apache.http.** -dontwarn com.squareup.okhttp.** -dontwarn okio.** -dontwarn retrofit2.** -keep class retrofit2.** { *; } ##Firebase #-keepattributes Signature #-keepattributes *Annotation* #-keepattributes EnclosingMethod #-keepattributes InnerClasses # #-keep class com.google.firebase.quickstart.database.java.viewholder.** { # *; #} # #-keepclassmembers class com.google.firebase.quickstart.database.java.models.** { # *; #} # #-keep class persistence.** { # *; #} # #-keep class com.google.android.gms.** { *; } #-keep class com.google.firebase.** { *; } #Picasso -dontwarn com.squareup.okhttp.** -dontwarn java.awt.Color -dontwarn java.awt.Dimension -dontwarn java.awt.Rectangle -dontwarn java.awt.color.ColorSpace -dontwarn java.awt.geom.AffineTransform -dontwarn java.awt.geom.Dimension2D -dontwarn java.awt.geom.Path2D -dontwarn java.awt.geom.PathIterator -dontwarn java.awt.geom.Point2D -dontwarn java.awt.geom.Rectangle2D -dontwarn java.awt.image.BufferedImage -dontwarn java.awt.image.ColorModel -dontwarn java.awt.image.ComponentColorModel -dontwarn java.awt.image.DirectColorModel -dontwarn java.awt.image.IndexColorModel -dontwarn java.awt.image.PackedColorModel -dontwarn javax.xml.stream.Location -dontwarn javax.xml.stream.XMLStreamException -dontwarn javax.xml.stream.XMLStreamReader -dontwarn net.sf.saxon.Configuration -dontwarn net.sf.saxon.dom.DOMNodeWrapper -dontwarn net.sf.saxon.om.Item -dontwarn net.sf.saxon.om.NodeInfo -dontwarn net.sf.saxon.om.Sequence -dontwarn net.sf.saxon.om.SequenceTool -dontwarn net.sf.saxon.sxpath.IndependentContext -dontwarn net.sf.saxon.sxpath.XPathDynamicContext -dontwarn net.sf.saxon.sxpath.XPathEvaluator -dontwarn net.sf.saxon.sxpath.XPathExpression -dontwarn net.sf.saxon.sxpath.XPathStaticContext -dontwarn net.sf.saxon.sxpath.XPathVariable -dontwarn net.sf.saxon.tree.wrapper.VirtualNode -dontwarn net.sf.saxon.value.DateTimeValue -dontwarn net.sf.saxon.value.GDateValue -dontwarn org.apache.batik.anim.dom.SAXSVGDocumentFactory -dontwarn org.apache.batik.bridge.BridgeContext -dontwarn org.apache.batik.bridge.DocumentLoader -dontwarn org.apache.batik.bridge.GVTBuilder -dontwarn org.apache.batik.bridge.UserAgent -dontwarn org.apache.batik.bridge.UserAgentAdapter -dontwarn org.apache.batik.util.XMLResourceDescriptor #Retrofit # RETROFIT # Retrofit does reflection on generic parameters. InnerClasses is required to use Signature and # EnclosingMethod is required to use InnerClasses. -keepattributes Signature, InnerClasses, EnclosingMethod # Retrofit does reflection on method and parameter annotations. -keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations # Retain service method parameters when optimizing. -keepclassmembers,allowshrinking,allowobfuscation interface * { @retrofit2.http.* ; } # Ignore annotation used for build tooling. -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement # Ignore JSR 305 annotations for embedding nullability information. -dontwarn javax.annotation.** # Guarded by a NoClassDefFoundError try/catch and only used when on the classpath. -dontwarn kotlin.Unit # Top-level functions that can only be used by Kotlin. -dontwarn retrofit2.KotlinExtensions #-dontwarn retrofit2.KotlinExtensions$* -dontwarn org.slf4j.impl.StaticLoggerBinder # With R8 full mode, it sees no subtypes of Retrofit interfaces since they are created with a Proxy # and replaces all potential values with null. Explicitly keeping the interfaces prevents this. -if interface * { @retrofit2.http.* ; } -keep,allowobfuscation interface <1> -keepattributes *Annotation* -keepattributes SourceFile,LineNumberTable -assumenosideeffects class android.util.Log { public static *** d(...); public static *** i(...); public static *** v(...); public static *** e(...); } # Keep retrofit and okhttp models -keep class okhttp3.** { *; } -keep class retrofit2.** { *; } -keep class com.google.gson.** { *; } # Keep logging from being obfuscated -assumenosideeffects class android.util.Log { public static *** d(...); public static *** i(...); public static *** v(...); public static *** w(...); public static *** e(...); }