将项目更新到稳定协同程序Kotlin 1.3.0 + Coroutines 1.0.0错误

jch*_*tof 7 android kotlin kotlinx.coroutines

我在我的项目中指定了以下内容:

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'
}
Run Code Online (Sandbox Code Playgroud)

项目

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"
    }
}
Run Code Online (Sandbox Code Playgroud)

包装纸

distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
Run Code Online (Sandbox Code Playgroud)

Gradle同步完成没有错误,但是我的每次调用都是如此

GlobalScope.launch {}
Run Code Online (Sandbox Code Playgroud)

'launch'标有以下错误:

'不支持[无法使用api版本低于1.3的版本协同程序]'

我已经失效和清理重建 - 我错过了什么?

**编辑

我可以看到生成错误的位置:

科特林/编译器/前端/ SRC /组织/ JetBrains公司/科特林/决心/电话/跳棋/ 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
    }
Run Code Online (Sandbox Code Playgroud)

Kis*_*kae 8

您缺少依赖项中的标准库.该插件检查以确定要使用的api版本.

添加"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"为依赖项以修复错误.


小智 1

清除 m2 缓存并重新导入所有依赖项。这应该可以解决问题。原因是,如果它之前可以工作,那么您就拥有所需的所有依赖项,并且通过清除缓存,您可以重新获取运行协程所需的所有必需库。