web-dev-qa-db-fra.com

Mise à jour du projet vers les coroutines stables Erreur Kotlin 1.3.0 + Coroutines 1.0.0

J'ai spécifié les éléments suivants dans mon projet:

Module

dependencies {
  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.0'
  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-Android:1.0.0'
  implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version'
}

Projet

buildscript {
    ext.kotlin_version = '1.3.0'
    repositories {
        google()
        jcenter()
    }

dependencies {
        classpath 'com.Android.tools.build:gradle:3.2.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

Wrapper

distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.Zip

La synchronisation de Gradle se termine sans erreur, mais chacun de mes appels vers 

GlobalScope.launch {}

'launch' est marqué avec l'erreur suivante:

'Unsupported [ne peut pas utiliser les lignes de version avec une version d'api inférieure à 1.3]'

J'ai invalidé et reconstruit en propre - qu'est-ce qui me manque?

**Modifier

Je peux voir où l'erreur est générée:

kotlin/compilateur/frontal/src/org/jetbrains/kotlin/resolver/appels/checkers/coroutineCallChecker.kt

fun checkCoroutinesFeature(languageVersionSettings: LanguageVersionSettings, diagnosticHolder: DiagnosticSink, reportOn: PsiElement) {
    if (languageVersionSettings.supportsFeature(LanguageFeature.ReleaseCoroutines)) {
        if (languageVersionSettings.apiVersion < ApiVersion.KOTLIN_1_3) {
            diagnosticHolder.report(Errors.UNSUPPORTED.on(reportOn, "cannot use release coroutines with api version less than 1.3"))
        }
        return
    }
6
jchristof

Vous manquez la bibliothèque standard dans vos dépendances. Le plugin inspecte cela pour déterminer quelle version de l'API utiliser.

Ajoutez "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" en tant que dépendance pour corriger votre erreur.

7
Kiskae

Faites un clic droit sur le nom du projet -> Maven -> Réimporter . Dans mon cas, cela a aidé.

1
Dmitry Sokolov

Vous devez effectuer les opérations suivantes dans Android Studio:

  1. Fichier -> Fermer le projet
  2. Dans "Fenêtre de démarrage rapide", sélectionnez l'option "Importer un projet (Eclipse ADT, Gradle, etc.)".

Après cela, tous les avertissements disparaîtront.

0
Ksenia