Jetpack Compose 和 Android Room 兼容性

Mic*_*ton 6 android kotlin android-room android-jetpack android-jetpack-compose

我正在尝试在我的 Jetpack Compose 项目中设置 Android Room。但是,当尝试添加...

kapt "androidx.room:room-compiler:2.2.3"
Run Code Online (Sandbox Code Playgroud)

...到应用程序 build.gradle 依赖项。我的构建失败并出现错误...

e: java.lang.NoSuchMethodError: org.jetbrains.kotlin.codegen.state.GenerationState$Builder.isIrBackend(Z)Lorg/jetbrains/kotlin/codegen/state/GenerationState$Builder;
Run Code Online (Sandbox Code Playgroud)

关于为什么会这样的任何见解?我们可以将 Android Room 与 Jetpack Compose 一起使用吗?

Com*_*are 3

我非常确定我们仍然处于注释处理器(用于 Room、Retrofit 等)和实验性 Kotlin 编译器无法相处的状态。目前推荐的方法是将 Compose 内容隔离在一个独立于需要注释处理器的模块的模块中。

  • @MichaelJohnston:“你知道有什么有用的材料可以阅读吗?” -- 不是真的,如果你指的是文档的话。正如一位关键的 Compose 工程师最近所说,由于 API 不断变化,他们并没有在文档上投入太多。但是,您可能想加入 [JetBrains 的 Kotlin Slack 工作区](http://slack.kotlinlang.org/?_ga=2.110923845.1590544448.1581681592-1215520910.1565297973),因为他们有一个专用的“#compose”频道。 (2认同)