Regras de ofuscação
Adicione as seguintes regras ao seu arquivo rules.pro para garantir o funcionamento correto do SDK e de suas dependências:
Android
# Cielo WebView SDK
-keep class br.com.cielo.webviewsdk.** { *; }
# Lottie
-keep class com.airbnb.** { *; }
# AndroidX
-keep class androidx.** { *; }
-dontwarn androidx.**
# Kotlin
-keep class kotlinx.** { *; }
-dontwarn kotlinx.**
-keep class kotlin.** { *; }
-dontwarn kotlin.**
# Construtores de Views
-keepclassmembers !abstract class * {
public <init>(android.content.Context,android.util.AttributeSet);
public <init>(android.content.Context,android.util.AttributeSet,int);
}
# Enums
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# Classes com membros específicos
-keepclasseswithmembers class * {
public <init>(android.content.Context,android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context,android.util.AttributeSet,int);
}
# Componentes Android
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
# Métodos nativos
-keepclasseswithmembers class * {
native <methods>;
}
# Métodos públicos em Activities
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
# Recursos (R)
-keepclassmembers class **.R$* {
public static <fields>;
}
# AppCompat Activities
-keepclassmembers class * extends androidx.appcompat.app.AppCompatActivity
# Java
-keep class java.util.** { *; }
-keep class java.io.** { *; }
-keep class java.lang.** { *; }
-keep class java.net.** { *; }
# Retrofit
-keep class retrofit2.** { *; }
# Gson
-keep class com.google.gson.** { *; }
# CieloObservability
-keep class br.com.cielo.sdk.observability.** { *; }
# OpenTelemetry
-keep class io.opentelemetry.** { *; }
# CieloAnalytics
-keep class br.com.cielo.sdk.analytics.** { *; }