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}
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"
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'
) (Utilisezjdk
NOTjre
)
Commencez par vérifier votre version de jdk dans Fichier> Structure du projet .
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
Vous pouvez mettre à jour la version de Kotlin à partir de Outils> Kotlin> Configurer les mises à jour de Kotlin .
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.
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
}
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"