首页 > 解决方案 > 如果 gradle 中包含生命周期扩展,kotlin-android-extensions 将停止工作

问题描述

使用以下行将 Android 生命周期组件添加到我的项目后:implementation("androidx.lifecycle:lifecycle-extensions:$lifecycleVersion") 在我的应用程序的 build.gradle.kts 文件中,所有导入kotlinx.android.synthetic停止工作,lifecycleVersion 定义为“2.0.0”

它在我使用导入视图的地方给了我以下错误。并且导入被 IDE 标记为未使用

未解决的参考。由于接收器类型不匹配,以下候选均不适用:

在线搜索解决方案后,我尝试将源代码从 main/java 文件夹移动到 main/kotlin 文件夹,但没有成功。

标签: androidkotlinandroid-lifecyclekotlin-android-extensionsandroid-components

解决方案


问题似乎是因为导航依赖项必须(目前)在android.arch分发中添加androidx依赖项与项目混淆。通过将以前的冲突依赖替换为:

implementation("android.arch.lifecycle:extensions:1.1.1")

奇怪的是,唯一相互冲突的依赖是那个依赖而不是其他依赖。但是在更改了对android.arch分发的所有依赖项之后,问题已经解决了。


推荐阅读