/ / ¿Qué versión de Kotlin es oficialmente compatible con Android? - kotlin, android-api-niveles

¿Qué versión de Kotlin es oficialmente compatible con Android? - kotlin, android-api-levels

Recientemente he desarrollado una aplicación en Kotlin 1.2.10 y obtuve un error en Android Studio:

Call requires API level 24 (current min is 21): java.util.Map#forEach.

Refiriéndose al siguiente código:

val map = mutableMapOf<String, String>()
map.forEach { s1: String, s2: String -> print("something") }

Entonces, la pregunta es, ¿cómo sé que los métodos Kotlin que utilizo (fuera de Android Studio, por ejemplo, IntelliJ) estarán disponibles en ciertos niveles de API de Android?

No puedo encontrar información sobre qué versión de Kotlin es compatible con Android (y en qué nivel de API).

Respuestas

4 para la respuesta № 1

Cualquier Kotlin es compatible con Android siempre y cuando tu

compile "org.jetbrains.kotlin:kotlin-stdlib" // or
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7"

Este método forEach con una devolución de llamada de dos parámetros es de Java 8 y solo está disponible desde la API 24. Esta es también la razón por la que debajo de la API 24 puede "t

compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"

Lo que buscabas es la función de extensión de Kotlin que se vería así:

map.forEach { (key, value) -> // One parameter of type Map.Entry<String, String>
// Do something
}