Por qué el complemento de Kotlin agrega reference de kotlin-stdlib-jre7 (no kotlin-stdlib) para el proyecto de Android

Android Studio 2.3.3; Complemento de Kotlin: 1.1.4; Comstackdor Kotlin: Kotlin a JVM: 1.6.

Android Studio> Nuevo proyecto> Configurar Kotlin en la acción Proyecto agrega reference para kotlin-stdlib-jre7 al file gradle. Esperaría kotlin-stdlib ya que Kotlin target JVM es 1.6.

No he encontrado una buena explicación. Por ejemplo, esta respuesta dice que

Se supone que el artefacto kotlin-stdlib-jre7 no funciona en Android, que actualmente solo admite la plataforma Java 6. Al apuntar a Android, debe usar kotlin-stdlib, que está diseñado para JRE 6

Android ya soporta Java 7 desde hace algunos años. De hecho, el soporte parcial para Java 8 está en path, al principio por medio de Jack toolchain y actualmente mediante desugaring en la cadena de herramientas por defecto .

Entonces, kotlin-stdlib-jre7 está perfectamente bien.

Como puede ver en esta respuesta , kotlin-stdlib obtuvo dos bibliotecas de extensión adicionales kotlin-stdlib-jre7 y kotlin-stdlib-jre8 en 1.1. Estas bibliotecas agregan características específicas para Java 7 y Java 8, e incluyen kotlin-stdlib como una dependencia transitiva. Ver también las notas de la versión de Kotlin 1.1 :

Soporte de biblioteca estándar Java 8

Ahora hay versiones separadas de la biblioteca estándar que admiten las nuevas API JDK agregadas en Java 7 y 8. Si necesita acceder a las nuevas API, use los artefactos maven kotlin-stdlib-jre7 y kotlin-stdlib-jre8 en lugar del kotlin estándar. stdlib. Estos artefactos son pequeñas extensiones sobre kotlin-stdlib y lo traen a su proyecto como una dependencia transitiva.

El complemento de Kotlin en las versiones actuales de Android Studio agrega kotlin-stdlib-jre7 como una dependencia al configurar Kotlin en el proyecto, ya que Android Studio y las herramientas de compilation admiten Java 7 de forma retrocompatible desde Android Studio 0.3.2, lanzado en octubre de 2013 . Consulte también ¿Admite Android JDK 6 o 7 ? Específicamente, el estado de las notas de la versión:

La característica principal de esta versión es el soporte para Android KitKat:

Compatibilidad con características de idioma como el operador de diamante, captura múltiple, try-with-resources, cadenas de conmutadores, etc. Al crear un nuevo proyecto, puede especificar un nivel de idioma de origen:

Y:

Tenga en count que puede utilizar todas estas funciones de idioma no solo con Android KitKat, sino también con versiones anteriores de Android. Hay una exception a eso: try-with-resources, que requerirá minSdkVersion 19.

  • Aplicación web Kotlin | enlace file css
  • Soporte de Base64 para diferentes niveles de API
  • Cómo crear un map a partir de una list con una list interna usando Kotlin
  • cómo acceder al object complementario desde la instancia del object en kotlin?
  • No puede abrir el proyecto después de actualizar Android Studio
  • setOnLongClickListener en android con kotlin
  • Comience un proyecto con la ayuda de Kotlin en Android
  • no se puede crear ArrayList dentro de la subclass RealmObject
  • Problema de encadenamiento Completable after flatMapCompletable
  • Compute la propiedad solo una vez
  • Método de arranque estático de la actividad android en Kotlin