Proguard: no ofusque las classs de datos de Kotlin

En mi proyecto uso AutoValue para mis classs de models anteriores. Empecé a usar Kotlin y quiero usar classs de datos en lugar de AutoValue. Quiero desactivar la ofuscación de todas las classs de datos en mi capa de datos, pero seguir ocultando las otras classs en el package.

¿Hay alguna forma de hacer esto?

Esperaría tener algo como esto en mi file Proguard :

-keepclassmembers data class example.data_layer.** { *; } 

Para solucionar el problema, moví las classs model al package model y agregué una nueva regla ProGuard para el package.

 -keep class com.company.myfeature.model.** { *; } 

Otra solución sería usar la anotación @Keep de la biblioteca de soporte para desactivar la ofuscación de la class:

 @Keep data class MyRequestBody(val value: String) 

Usar @Keep puede causar problemas porque es fácil olvidarse de agregarlo para las nuevas classs.

Es de esperar que en el futuro haya una manera con una regla de ProGuard de desactivar a la ofuscación para todas las classs de datos en el package sin la necesidad de tener un subpackage para las classs de model .

  • Cómo evitar que kotlin.Unit object sea eliminado por Proguard
  • Android se cuelga después de intentar crear una versión de lanzamiento
  • Proguard y Kotlin-Reflect / Kotlin Anotaciones
  • Proguard elimina annotations personalizadas en Kotlin
  • Palabras key de ofuscación de Proguard para kotlin
  • Kotlin reflect proguard SmallSortedMapa