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?
No answers yet.
Inicia sesión para dejar una respuesta
Blogs