编译错误:"-Xcoroutines无效:无论如何在1.3及更高版本中都启用了协同程序"

gro*_*lex 10 compiler-errors gradle kotlin android-studio kotlinx.coroutines

当我尝试编译用Kotlin编写的Android应用程序时,我收到以下编译错误,并且我的构建失败:

w: -Xcoroutines has no effect: coroutines are enabled anyway in 1.3 and beyond
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

gro*_*lex 25

事实证明,解决这个问题实际上非常容易,而且我认为我会为那些毫无疑问将来会遇到同样问题的人记录我的解决方案.

只需从您的应用级build.gradle中删除以下块,点击Android Studio中的"立即同步"并重建:

kotlin {
    experimental {
        coroutines "enable"
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 该死的,宾果游戏.我失去了一个小时,发现在哪里我忘了删除一些实验. (2认同)

s1m*_*nw1 7

使用Kotlin 1.3时,您不再需要此功能,因为它消除了协程的“实验”性质。看这里

协程现在很稳定

协程是编写易于理解和发展的非阻塞异步代码的现代方法。它是一个强大的工具,可用于将工作分担给后台工作人员以及实施复杂的网络协议。该kotlinx.coroutines库命中1.0版本,并提供了在任何规模的包括组成,取消,异常处理和UI特定使用案例管理异步工作的坚实基础。

您的构建脚本中可能缺少参考,例如:

kotlin {
    experimental {
        coroutines "enable"
    }
}
Run Code Online (Sandbox Code Playgroud)