Reglas de ProGuard para la reflexión de Kotlin

Aquí hay una class muy simple:

class MainActivity : AppCompatActivity() { val prop: String = "test" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) Log.d("MainActivity", ::prop.name) } } 

Si ejecuto esta aplicación con ProGuard usando las siguientes reglas:

 -dontwarn kotlin.** -dontwarn org.w3c.dom.events.* -dontwarn org.jetbrains.kotlin.di.InjectorForRuntimeDescriptorLoader 

Obtengo esta exception:

 adg: Property 'prop' not resolved in class com.cypressworks.kotlinreflectionproguard.MainActivity 

¿Qué reglas de ProGuard necesito aplicar para que funcione?

Si ProGuard está eliminando su atributo, la regla dontwarn solo ocultará los posts de advertencia. Lo que necesita es decirle realmente a ProGuard que lo conserve.

Una posible forma podría ser:

 -keepclassmembers public class com.cypressworks.kotlinreflectionproguard.** { public * *; }