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.** { *; }