web-dev-qa-db-fra.com

kotlin-stdlib-jre7 est obsolète. Veuillez utiliser kotlin-stdlib-jdk7 à la place

Hier, j'ai mis à jour Android Studio Version et la version du plugin Kotlin.

Android Studio Version: 3.1.2

Version Kotlin: 1.2.41

Lorsque je crée un projet Android à l'aide de cette configuration, le compilateur Kotlin reçoit un avertissement disant

w: kotlin-stdlib-jre7 est obsolète. Veuillez utiliser kotlin-stdlib-jdk7 à la place

Changé selon la suggestion, alors j'obtiens l'erreur suivante

Entrées inattendues: ImmutableJarInput {name = org.jetbrains.kotlin: kotlin-stdlib-jre7: 1.2.41, fichier =/home/ganeshtikone/Workspace/mai-2018/fhs/app/build/intermediates/transforms/desugar/stage/debug/45.jar, contentTypes = CLASSES, scopes = EXTERNAL_LIBRARIES, status = REMOVED}

43
Ganesh Tikone

Allez dans Outils> Kotlin> Configurer les mises à jour du plugin Kotlin et recherchez les mises à jour, puis dans votre fichier de graduation d'application, remplacez jre par jdk

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

Mise à jour importante

Doit vérifier la version du JDK avant de configurer config

Kotlin gradle config Cette page contient des informations détaillées à ce sujet.

Tout d’abord, vérifiez votre version de kotlin dans un fichier Gradle.

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

Commencez par vérifier votre version de jdk dans Fichier> Structure du projet .

sc

Ou vérifiez dans build.gradle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

if (version_jdk == 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 (version_jdk est <1,7)

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

sinon si (aucune version de jdk n'est définie dans la structure du projet)

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

Parce que Android Studio est fourni avec jdk 1.8 à partir de la version 2.2.1 .

2. sinon si (kotlin_version == '1.1.x') (Utilisez jre NOT jdk)

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

Mettre à jour la version de Kotlin?

Vous pouvez mettre à jour la version de Kotlin à partir de Outils> Kotlin> Configurer les mises à jour de Kotlin .

20
Khemraj

Quelque chose importe transitoirement ces bibliothèques. Exécuter la tâche Gradle dependencies pour savoir quoi.

Dans mon cas, c'était io.vertx:vertx-lang-kotlin-coroutines:3.5.1.

S'il n'y a pas de mise à jour pour la dépendance, vous ne pouvez rien y faire.

7

Après avoir lu Kotlin Gradle Script Sujet je découvre que certains ponits

Si vous ciblez JDK 7 ou JDK 8, vous pouvez utiliser des versions étendues de la bibliothèque standard Kotlin, qui contiennent des fonctions d'extension supplémentaires pour les API ajoutées dans les nouvelles versions de JDK. Au lieu de kotlin-stdlib, utilisez l’une des dépendances suivantes:

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

J'ai utilisé l'implémentation "org.jetbrains.kotlin: kotlin-stdlib-jdk8" dans mon projet. Je pense que c'est à cause de compileOptions défini dans build.graddle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
5
Ganesh Tikone

Vous devez échanger les codes ci-dessous:

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

Pas jre> jdk

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