277 lines
8.5 KiB
Prolog
277 lines
8.5 KiB
Prolog
|
|
# 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 <fields>;
|
||
|
|
#}
|
||
|
|
|
||
|
|
-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 {
|
||
|
|
<init>(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.* <methods>;
|
||
|
|
}
|
||
|
|
|
||
|
|
# 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.* <methods>; }
|
||
|
|
-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(...);
|
||
|
|
}
|
||
|
|
|