Proguard-rules.pro file
# ==============================================================================
# 1. IGNORAR AVISOS DE BIBLIOTECAS DE TERCEIROS (-dontwarn)
# ==============================================================================
-dontwarn com.fasterxml.jackson.**
-dontwarn com.google.auto.value.**
-dontwarn io.opentelemetry.**
-dontwarn javax.annotation.**
-dontwarn javax.inject.**
-dontwarn sun.misc.**
-dontwarn org.codehaus.mojo.**
-dontwarn org.junit.**
-dontwarn org.mockito.**
-dontwarn android.test.**
-dontwarn android.support.test.**
# Ignora avisos gerais do SDK da FirstTech
-dontwarn com.firsttech.**
# Ignora avisos das bibliotecas de requisição HTTP
-dontwarn okhttp3.**
-dontwarn retrofit2.**
-dontwarn okio.**
# ==============================================================================
# 2. PROTEGER CLASSES DE INTERFACE E ADAPTERS (-keep)
# ==============================================================================
-keep class com.firsttech.taponphone.app.adapter.** { *; }
-keepclassmembers class **.ViewHolder {
<init>(...);
}
# Protege o DataBinding e ViewBinding para evitar crash ao inflar layouts
-keep class com.firsttech.taponphone.app.databinding.** { *; }
-keep class androidx.databinding.** { *; }
-keepclassmembers class * extends androidx.viewbinding.ViewBinding {
public static ** inflate(...);
public static ** bind(...);
public ** getRoot();
}
# ==============================================================================
# 3. PROTEGER MODELOS E CLASSES DO SDK DA FIRSTTECH
# ==============================================================================
-keep class com.firsttech.taponphone.sdk.v2.models.** { *; }
-keep class com.firsttech.taponphone.sdk.v2.model.** { *; }
# Mantém os construtores e métodos públicos do pacote raiz da FirstTech
-keep class com.firsttech.** {
public <init>(...);
<methods>;
}
# ==============================================================================
# 4. MANTER METADADOS IMPORTANTES PARA DEBUG E ANOTAÇÕES
# ==============================================================================
-keepattributes SourceFile,LineNumberTable,Signature,*Annotation*
# ==============================================================================
# 5. REGRAS PARA GSON E RETROFIT (REDE E SERIALIZAÇÃO JSON)
# ==============================================================================
-keep class com.google.gson.** { *; }
-keepclassmembers class * {
@com.google.gson.annotations.SerializedName <fields>;
}
-keep interface retrofit2.** { *; }
-keep interface **.api.** { *; }
-keepattributes RuntimeVisibleAnnotations,RuntimeVisibleParameterAnnotations
# ==============================================================================
# 6. REGRAS DE SISTEMA (MÉTODOS NATIVOS E ENUMS)
# ==============================================================================
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# ==============================================================================
# 7. SILENCIAR OS ERROS ESPECÍFICOS DO R8 (GERADOS NO SEU BUILD FAILED)
# ==============================================================================
-dontwarn com.fasterxml.jackson.core.JsonFactory
-dontwarn com.fasterxml.jackson.core.JsonGenerator
-dontwarn com.google.auto.value.AutoValue$Builder
-dontwarn com.google.auto.value.AutoValue$CopyAnnotations
-dontwarn com.google.auto.value.AutoValue
-dontwarn io.opentelemetry.api.common.AttributeKey
-dontwarn io.opentelemetry.api.common.Attributes
-dontwarn io.opentelemetry.api.incubator.common.ExtendedAttributeKey
-dontwarn io.opentelemetry.api.incubator.common.ExtendedAttributeType
-dontwarn io.opentelemetry.api.incubator.common.ExtendedAttributes
-dontwarn io.opentelemetry.api.incubator.common.ExtendedAttributesBuilder
-dontwarn io.opentelemetry.api.incubator.internal.InternalExtendedAttributeKeyImpl
-dontwarn io.opentelemetry.api.incubator.logs.ExtendedLogRecordBuilder
-dontwarn io.opentelemetry.api.incubator.logs.ExtendedLogger
-dontwarn io.opentelemetry.api.incubator.metrics.ExtendedLongGaugeBuilder
-dontwarn io.opentelemetry.api.incubator.trace.ExtendedSpanBuilder
-dontwarn io.opentelemetry.api.incubator.trace.ExtendedTracer
-dontwarn io.opentelemetry.exporter.logging.internal.ConsoleLogRecordExporterComponentProvider
-dontwarn io.opentelemetry.exporter.logging.internal.ConsoleLogRecordExporterProvider
-dontwarn io.opentelemetry.exporter.logging.internal.ConsoleMetricExporterComponentProvider
-dontwarn io.opentelemetry.exporter.logging.internal.ConsoleMetricExporterProvider
-dontwarn io.opentelemetry.exporter.logging.internal.ConsoleSpanExporterComponentProvider
-dontwarn io.opentelemetry.exporter.logging.internal.ConsoleSpanExporterProvider
-dontwarn io.opentelemetry.exporter.logging.internal.LoggingLogRecordExporterProvider
-dontwarn io.opentelemetry.exporter.logging.internal.LoggingMetricExporterProvider
-dontwarn io.opentelemetry.exporter.logging.internal.LoggingSpanExporterProviderLast updated

