不能执行kotlin协程(没有这样的方法exception

我从kotlin例子中拿出了这个简单的代码片段:

fun main(args: Array) = runBlocking { withTimeout(1300L) { repeat(1000) { i -> println("I'm sleeping $i ...") delay(500L) } } } 

当我尝试运行它时,它会抛出

 java.lang.NoSuchMethodError: kotlinx.coroutines.experimental.ScheduledKt.withTimeout$default(JLjava/util/concurrent/TimeUnit;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Ljava/lang/Object; 

我用kotlinVersion =’1.1.51′

有什么建议?

在你的情况下,确保在你的build.gradle文件中启用协程:

 kotlin { experimental { coroutines "enable" } } 

你也应该通过启动(UI)来触发你的协同程序,并明确地调用wait()和挂起的方法。 其余的代码将在UI线程上执行。

希望它解决了你的问题!