类“androidx.compose.ui.platform.ComposeView "由新的Kotlin编译器后端编译,无法由旧编译器加载
这是我的onCreate方法:
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_delivered, container, false).apply {
findViewById<ComposeView>(R.id.compose_view).setContent {
MaterialTheme {
Surface {
Text("Hello")
}
}
}
}
}
编写版本:
accompanistVersion = "0.1.9"
composeVersion = '0.1.0-dev17'
app.gradle
buildFeatures {
compose true
dataBinding true
}
composeOptions {
kotlinCompilerVersion rootProject.kotlinVersion
kotlinCompilerExtensionVersion rootProject.composeVersion
}
// Compose
implementation "androidx.compose.runtime:runtime:$rootProject.composeVersion"
implementation "androidx.compose.ui:ui:$rootProject.composeVersion"
implementation "androidx.compose.foundation:foundation:$rootProject.composeVersion"
implementation "androidx.compose.foundation:foundation-layout:$rootProject.composeVersion"
implementation "androidx.compose.material:material:$rootProject.composeVersion"
implementation "androidx.compose.ui:ui-viewbinding:$rootProject.composeVersion"
implementation "androidx.ui:ui-tooling:$rootProject.composeVersion"
implementation "androidx.compose.runtime:runtime-livedata:$rootProject.composeVersion"
implementation "com.google.android.material:compose-theme-adapter:$rootProject.composeVersion"
implementation "dev.chrisbanes.accompanist:accompanist-coil:$rootProject.accompanistVersion"
6条答案
按热度按时间b1payxdu1#
当创建一个带有“Empty Compose Activity”的新项目时,默认的
app/build.grade
包括以下选项。添加这些选项(特别是
useIR = true
)似乎为我修复了这个错误。useIR
选项引用了Kotlin的新JVM后端,文档对此进行了如下特别说明。如果启用Jetpack Compose,您将自动选择使用新的JVM后端,而无需在
kotlinOptions
中指定编译器选项。这似乎是不正确的。
pepwfjgg2#
请将此任务添加到您的应用/build.gradle文件中:
oo7oh9g93#
遵循official setup guide中的步骤会导致同样的问题。
添加必要的dependencies/configuration for the compose library为我修复了这个问题。
pu3pd22g4#
.kts版本
vh0rcniy5#
在我的例子中,这是导致相应错误的依赖关系:
我猜玩它应该会有帮助
zbsbpyhn6#
查找Kotlin兼容版本here
更新build.gradle中的依赖关系
这里
${version}
是Kotlin版本。在Gradle Setting.
中配置合适的JDK版本
在以下命令下运行
对我来说,它解决了我的问题。