the supports stdlib plugin only last higher compiler and android kotlin

android - supports - kotlin-stdlib-jre7 está en desuso. Por favor use kotlin-stdlib-jdk7 en su lugar



kotlin stdlib gradle (5)

Ayer actualicé la versión de Android Studio y la versión de Kotlin.

Versión de Android Studio: 3.1.2

Versión de Kotlin: 1.2.41

Cuando creo un proyecto de Android con esta configuración, recibo el mensaje de advertencia del compilador de Kotlin que dice:

w: /home/ganeshtikone/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.41/9e7a6k582asp.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.cf.png/cotlin-stdlib-jre7/1. kotlin-stdlib-jre7 está en desuso. Por favor use kotlin-stdlib-jdk7 en su lugar

Cambiado según la sugerencia, entonces obtengo el siguiente error

Entradas inesperadas: ImmutableJarInput {name = org.jetbrains.kotlin: kotlin-stdlib-jre7: 1.2.41, file = / home / ganeshtikone / Workspace / May-2018 / fhs / app / build / intermediates / transforms / desugar / stage / debug / 45.jar, contentTypes = CLASSES, scopes = EXTERNAL_LIBRARIES, status = REMOVED}


Actualización importante

Debe comprobar la versión de JDK antes de configurar la configuración.

La página de configuración de Kotlin gradle tiene información detallada sobre esto.

En primer lugar, compruebe su versión kotlin en el archivo de gradle.

if ( kotlin_version == ''1.2.x'' ) (Use jdk NOT jre )

Primero verifique su versión jdk en Archivo> Estructura del proyecto .

O compruebe en build.gradle

compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }

if (jdk_version == 1.8)

implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

if (jdk_version == 1.7)

implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

if (jdk_version es <1.7)

implementation"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

else if (la versión NO jdk está configurada en la Estructura del Proyecto)

if(Android_Studio_Version < 2.2.1){ your_jdk_version = 1.7; } else { your_jdk_version = 1.8; }

Porque Android Studio está incluido con jdk 1.8 desde la versión 2.2.1.

2. else else si ( kotlin_version == ''1.1.x'' ) (Use jre NOT jdk)

implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" // or jre8

Actualizar la versión de Kotlin?

Puede actualizar la versión de Kotlin desde Herramientas> Kotlin> Configurar actualizaciones de Kotlin


Algo está importando de forma transitiva esas bibliotecas. Ejecutar dependencies tareas Gradle para averiguar qué.

En mi caso, fue io.vertx:vertx-lang-kotlin-coroutines:3.5.1 .

Si no hay una actualización para la dependencia, no hay mucho que puedas hacer al respecto


Debes intercambiar los siguientes códigos:

implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

No jre> jdk

implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"


Después de leer Kotlin Gradle Script Topic, descubro que algunos ponits

Si se dirige a JDK 7 o JDK 8, puede usar versiones extendidas de la biblioteca estándar de Kotlin que contienen funciones de extensión adicionales para las API agregadas en las nuevas versiones de JDK. En lugar de kotlin-stdlib, use una de las siguientes dependencias:

compilar "org.jetbrains.kotlin: kotlin-stdlib-jdk7"
compilar "org.jetbrains.kotlin: kotlin-stdlib-jdk8"

Utilicé la implementación "org.jetbrains.kotlin: kotlin-stdlib-jdk8" en mi proyecto. Creo que es debido a compileOptions establecido en build.graddle

compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }


Vaya a Herramientas> Kotlin> Configurar actualizaciones del complemento de Kotlin y busque actualizaciones, luego en su aplicación, reemplace jre con jdk

implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"