Android 使用协程作用域编译Kotlin函数时出现JVM错误
我正在尝试将我的MVP应用程序从Rx迁移到Kotlin的协同程序(我是新手) 在运行一些测试时,我发现任何具有以下结构的代码都无法使用Android 使用协程作用域编译Kotlin函数时出现JVM错误,android,kotlin,kotlin-coroutines,Android,Kotlin,Kotlin Coroutines,我正在尝试将我的MVP应用程序从Rx迁移到Kotlin的协同程序(我是新手) 在运行一些测试时,我发现任何具有以下结构的代码都无法使用org.jetbrains.kotlin.codegen.compileationexception进行编译:后端(JVM)内部错误:生成的字节码错误 val scope = CoroutineScope(Dispatchers.IO) fun a(i: Int) { scope.launch { withContext(Dispatche
org.jetbrains.kotlin.codegen.compileationexception进行编译:后端(JVM)内部错误:生成的字节码错误
val scope = CoroutineScope(Dispatchers.IO)
fun a(i: Int) {
scope.launch {
withContext(Dispatchers.Main) {
val b = i + 1
}
}
}
问题似乎在于尝试使用上下文访问中的参数i
。如果我将I
的值指定给函数块内的其他对象并使用它,则它可以正常工作。但是我有种感觉,我可能在这里做错了什么,呵呵
它生活在一个演示者中。我的想法是在IO调度程序中使用“launch”来调用存储库并从数据库中获取一些数据,然后使用它来更新主调度程序中的UI。对我来说,它看起来很可靠,但我有点担心,因为显然没有其他人遇到同样的问题,这可能意味着出于某种原因,应该避免我尝试实现的这种模式
有什么线索吗?经过一些修改,我发现问题出在我的kotlin插件版本上
我把它从1.3.50
改为1.3.72
,然后。。。魔法:D