gpt4 book ai didi

android - Jetpack 撰写 : Backend Internal error when calling function with lambda from Coroutine

转载 作者:行者123 更新时间:2023-12-04 04:15:20 25 4
gpt4 key购买 nike

有点奇怪,但在使用 Jetpack Compose 时出现“后端内部错误”错误,结果发现它是通过调用从协程中获取 lambda 的函数触发的。

它很容易重现....已将其范围缩小到以下步骤:

使用“Empty Compose Activity”模板创建新项目。更新到 dev07(以前的版本也有问题),并将以下内容添加到 build.gradle

composeOptions {
kotlinCompilerExtensionVersion = "0.1.0-dev07"
}

将以下内容添加到 MyActivity.kt
fun someFun(success: (String) -> Unit) {
}

然后更新 onCreate遵循:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

lifecycleScope.launch {
someFun {
}
}
setContent {
MaterialTheme {
Greeting("Android")
}
}
}

构建项目,然后您会看到以下错误:
e: java.lang.IllegalStateException: Backend Internal error: Exception during code generation
Element is unknownThe root cause java.lang.RuntimeException was thrown at: org.jetbrains.kotlin.backend.jvm.codegen.FunctionCodegen.generate(FunctionCodegen.kt:42)
at org.jetbrains.kotlin.codegen.CompilationErrorHandler.lambda$static$0(CompilationErrorHandler.java:35)
at org.jetbrains.kotlin.backend.jvm.JvmBackendFacade.doGenerateFilesInternal$backend_jvm(JvmBackendFacade.kt:114)

请注意,您还需要将以下依赖项添加到 build.gradle
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.2.0"

最佳答案

确保将其添加到您使用 compose 的每个模块中

buildFeatures {
compose true
}
这是 alashow 的评论,也是唯一有效的方法。

关于android - Jetpack 撰写 : Backend Internal error when calling function with lambda from Coroutine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60797288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com