Reglas de ofuscación
# Especifica el número de pasadas de optimización que se deben realizar
-optimizationpasses 5
# No genera nombres de clases con mayúsculas y minúsculas mezcladas durante la ofuscación; es decir, todo en minúsculas
-dontusemixedcaseclassnames
# Especifica que no se ignoren las clases de bibliotecas no públicas
-dontskipnonpubliclibraryclasses
# Especifica que no se ignoren los miembros (campos y métodos) de clases de biblioteca visibles para el paquete
-dontskipnonpubliclibraryclassmembers
# Los nombres de los métodos en las clases ofuscadas también se ofuscan y se genera un nombre único de ofuscación para la clase que va a ser ofuscada
-useuniqueclassmembernames
# Desactiva la prevalidación
-dontpreverify
# Imprime el registro del proceso y muestra más información durante el procesamiento
-verbose
# Especifica el algoritmo de optimización
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
# Desactiva la optimización
-dontoptimize
# Amplía los permisos de acceso de las clases y de los miembros de clase para permitir el acceso y la modificación durante la optimización
-allowaccessmodification
# Conserva los nombres de los parámetros de los métodos que deben mantenerse
-keepparameternames
# Los cuatro componentes no deben ser ofuscados
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
# Cambia el nombre del origen del archivo de trazas de pila de ofuscación a "SourceFile"
-renamesourcefileattribute SourceFile
# Protege las anotaciones. Si el código depende de anotaciones, se recomienda conservarlas
-keepattributes *Annotation*
# Conserva los nombres de los archivos fuente, nombres de variables y números de línea para generar trazas de pila de ofuscación útiles
-keepattributes SourceFile,LineNumberTable
# Conserva excepciones, clases/interfaces internas, genéricos y métodos obsoletos
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,EnclosingMethod
# Mantiene los miembros estáticos del archivo R para que el código de llamada pueda acceder a estos campos mediante reflexión
-keepclassmembers class **.R$* {
public static <fields>;
}
# EngageLab
-keep class com.engagelab.** {*;}
-dontwarn com.engagelab.**
# Google
-keep class com.google.**{*;}
-dontwarn com.google.**
# Huawei
# ATENCIÓN: las siguientes reglas hacen referencia a com.google.** y podrían requerir verificación
-keep class com.google.**{*;}
-dontwarn com.google.**
# Xiaomi
-keep class com.xiaomi.** {*;}
-dontwarn com.xiaomi.**
# Meizu: si se utiliza R8 para la ofuscación, el token puede no estar disponible
-keep class com.meizu.** {*;}
-dontwarn com.meizu.**
# OPPO
-keep class com.heytap.** {*;}
-dontwarn com.heytap.**
# vivo
-keep class com.vivo.** {*;}
-dontwarn com.vivo.**
-ignorewarnings
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-keep class com.huawei.hianalytics.**{*;}
-keep class com.huawei.updatesdk.**{*;}
-keep class com.huawei.hms.**{*;}
-keep class com.hihonor.push.**{*; }
# Especifica el número de pasadas de optimización que se deben realizar
-optimizationpasses 5
# No genera nombres de clases con mayúsculas y minúsculas mezcladas durante la ofuscación; es decir, todo en minúsculas
-dontusemixedcaseclassnames
# Especifica que no se ignoren las clases de bibliotecas no públicas
-dontskipnonpubliclibraryclasses
# Especifica que no se ignoren los miembros (campos y métodos) de clases de biblioteca visibles para el paquete
-dontskipnonpubliclibraryclassmembers
# Los nombres de los métodos en las clases ofuscadas también se ofuscan y se genera un nombre único de ofuscación para la clase que va a ser ofuscada
-useuniqueclassmembernames
# Desactiva la prevalidación
-dontpreverify
# Imprime el registro del proceso y muestra más información durante el procesamiento
-verbose
# Especifica el algoritmo de optimización
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
# Desactiva la optimización
-dontoptimize
# Amplía los permisos de acceso de las clases y de los miembros de clase para permitir el acceso y la modificación durante la optimización
-allowaccessmodification
# Conserva los nombres de los parámetros de los métodos que deben mantenerse
-keepparameternames
# Los cuatro componentes no deben ser ofuscados
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
# Cambia el nombre del origen del archivo de trazas de pila de ofuscación a "SourceFile"
-renamesourcefileattribute SourceFile
# Protege las anotaciones. Si el código depende de anotaciones, se recomienda conservarlas
-keepattributes *Annotation*
# Conserva los nombres de los archivos fuente, nombres de variables y números de línea para generar trazas de pila de ofuscación útiles
-keepattributes SourceFile,LineNumberTable
# Conserva excepciones, clases/interfaces internas, genéricos y métodos obsoletos
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,EnclosingMethod
# Mantiene los miembros estáticos del archivo R para que el código de llamada pueda acceder a estos campos mediante reflexión
-keepclassmembers class **.R$* {
public static <fields>;
}
# EngageLab
-keep class com.engagelab.** {*;}
-dontwarn com.engagelab.**
# Google
-keep class com.google.**{*;}
-dontwarn com.google.**
# Huawei
# ATENCIÓN: las siguientes reglas hacen referencia a com.google.** y podrían requerir verificación
-keep class com.google.**{*;}
-dontwarn com.google.**
# Xiaomi
-keep class com.xiaomi.** {*;}
-dontwarn com.xiaomi.**
# Meizu: si se utiliza R8 para la ofuscación, el token puede no estar disponible
-keep class com.meizu.** {*;}
-dontwarn com.meizu.**
# OPPO
-keep class com.heytap.** {*;}
-dontwarn com.heytap.**
# vivo
-keep class com.vivo.** {*;}
-dontwarn com.vivo.**
-ignorewarnings
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-keep class com.huawei.hianalytics.**{*;}
-keep class com.huawei.updatesdk.**{*;}
-keep class com.huawei.hms.**{*;}
-keep class com.hihonor.push.**{*; }
Este bloque de código se muestra en una ventana flotante
