61 votes

kotlin-stdlib-jre7 est déconseillé. Veuillez utiliser kotlin-stdlib-jdk7 à la place

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

Android Studio Version: 3.1.2

Kotlin Version: 1.2.41

Lorsque je créer un projet Android avec cette configuration, j'obtiens Kotlin avertissement du Compilateur en disant:

w: /home/ganeshtikone/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.41/9e7a6f582de73d9cdc6c56ef4e23604a0ee55768/kotlin-stdlib-jre7-1.2.41.jar: kotlin-stdlib-jre7 est obsolète. Veuillez utiliser kotlin-stdlib-jdk7 au lieu

Changé comme par suggestion, alors je suis d'erreur suivantes

Inattendu entrées: ImmutableJarInput{nom=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, les étendues=EXTERNAL_LIBRARIES, status=SUPPRIMÉ}

98voto

Aman Saxena Points 1201

Allez dans Outils> Kotlin> Configurer les mises à jour du plugin Kotlin et vérifiez les mises à jour puis dans votre fichier gradle d'application, remplacez jre par jdk

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

39voto

Khemraj Points 8449

Mise À Jour Importante

Devez vérifier la version de JDK avant de config

Kotlin gradle config de la page pour obtenir des informations détaillées à ce sujet.

Tout d'abord, vérifiez votre kotlin version en gradle fichier.

si (kotlin_version == '1.2.x' ) (En jdk PAS jre)

D'abord vérifier votre version du jdk dans Fichier > Structure de Projet.

sc

Ou par chèque, en build.gradle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

si (jdk_version == 1.8)

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

si (jdk_version == 1.7)

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

si (jdk_version est < 1.7)

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

else if(AUCUNE version du jdk est installé dans une Structure de Projet)

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

Parce qu'Android Studio est fourni avec le jdk de 1,8 depuis la version 2.2.1.

2. else if ( kotlin_version == '1.1.x') (Utiliser le jre PAS jdk)

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

Mise À Jour De Kotlin Version?

Vous pouvez mettre à jour Kotlin version de Outils > Kotlin > Configurer Kotlin Mises à jour

9voto

Quelque chose importe de manière transitoire ces bibliothèques. Exécutez la tâche Gradle dependencies pour comprendre 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 pas faire grand-chose

7voto

Ganesh Tikone Points 793

Après la lecture de Kotlin Gradle Script Sujet Je trouve que certains ponits

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

la compilation "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
la compilation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"

J'ai utilisé de la mise en œuvre", org.jetbrains.kotlin:kotlin-stdlib-jdk8" dans mon projet. Je pense que c'est à cause de compileOptions ensemble dans la construction.graddle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

1voto

samet kaya Points 11

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"
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X