Avatar ·

Error "Default interface methods are only supported starting with Android 7.0" en Kotlin: ¿cómo solucionarlo?

¡Hola a todos! Soy nuevo en Kotlin y desarrollo Android, y me encontré con un error que no entiendo. Estoy escribiendo un proyecto simple con interfaces, quiero usar una implementación default de un método directamente en la interfaz, como en Java 8. El código es más o menos así: ```kotlin interface Clickable { fun onClick() // método abstracto fun showToast() { // método con implementación por defecto println("Clicked!") } } class Button : Clickable { override fun onClick() { showToast() // llamamos al método default } } ``` En Android Studio todo compila, pero cuando ejecuto en un emulador con Android 6.0 (API 23), la aplicación falla con el error: "Default interface methods are only supported starting with Android 7.0 (Nougat)". Estoy usando compileSdk 34 y minSdk 21. ¿Por qué ocurre esto? ¿No se supone que Kotlin es completamente compatible con Java 8? ¿Cómo puedo hacer que funcione en versiones antiguas de Android? ¿Quizás necesito agregar algunas flags en Gradle? ¿O debería simplemente renunciar a los métodos default en las interfaces?