我在项目中指定了以下内容:
模块
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'
}
项目
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"
}
}
包装器
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
Gradle同步已成功完成,但是我每次致电
GlobalScope.launch {}
“启动”标记有以下错误:
'不受支持[无法使用api版本低于1.3的发布协程]'
我已经无效并进行了干净的重建-我缺少什么?
**编辑
我可以看到在哪里生成错误:
kotlin / compiler / frontend / src / org / jetbrains / kotlin / resolve / calls / 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
}
答案 0 :(得分:7)
您在依赖项中缺少标准库。该插件会进行检查以找出要使用的api版本。
添加"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
作为依赖来解决您的错误。
答案 1 :(得分:2)
使用IntelliJ 2019.2.1 + Gradle对我有效的方法
File => Project Structure
然后从“项目设置”对话框中选择Modules
,并为每个Kotlin模块确保语言版本和 API版本匹配。不幸的是,这些设置在每次Gradle同步后都会重置,因此您必须在每次Gradle同步后重复该过程。
答案 2 :(得分:1)
右键单击项目名称-> Maven->重新导入。 就我而言,它有所帮助。
答案 3 :(得分:1)
清除m2缓存并重新导入所有依赖项。那应该解决问题。原因是,如果它在此之前运行过,那么您便拥有了所需的所有依赖项,并通过清除缓存来重新获取运行协程所需的所有必需库。
答案 4 :(得分:0)
您需要在Android Studio中执行以下操作:
此后,所有警告将消失。
答案 5 :(得分:0)
如果在此之前还可以,那么这可能来自于您新添加的依赖项之一。对我来说就是这种情况,我添加了一个过时的“南瓜”版本,并得到了同样的错误。将“南瓜”更新为最新版本后,一切正常。