当我被告知这会导致java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Intrinsics;
时,我只是在给RecyclerView
一个LinearLayoutManager
这是有问题的代码:
var linearLayoutManager : LinearLayoutManager? = LinearLayoutManager(this)
messages.layoutManager = linearLayoutManager
在进一步检查扔给我的Error
后,我被告知我的道路上缺少kotlin.jvm.internal.Intrinsics
。
无论我是否使用kotlin-kapt
都会发生这种情况,顺便说一下,自从kapt
使我的 Android 数据绑定陷入麻烦以来,我已经禁用了它。
然后,我重新启用kotlin-kapt
并禁用了Android数据绑定,并相应地调整了布局。不过,没有这样的运气。
然后,我删除了我的Gradle缓存并重新启动了Android Studio。IDE 告诉我 Kotlin 现在在 1.2.71 上。尽管如此,kapt
和Android数据绑定仍然相处不好。我收到相同的错误消息。
更新:我的 Kotlin Gradle 插件是 1.2.70,后来变成了 1.2.71。我也刚刚将我的Android Studio更新到3.2,我的Gradle插件更新到4.6(因此我的com.android.tools.build.gradle
是3.2.0(同样的事情发生了。
我想知道我做错了什么。
尝试 messages.layoutManager = LinearLayoutManager(this( as RecyclerView.LayoutManager
问题实际上在于android.arch.lifecycle:extensions:1.1.1
如何与dagger 2.17: https://github.com/google/dagger/issues/1245 相处。我通过以下方式解决了问题:
- 忽略包含我的
ext
的外部 Gradle 脚本文件,从而管理传统上使用我的build.gradle
字符串文字的依赖项 - 根据此处链接中的建议将dagger依赖项和
annotationProcessors
降级到 2.16。
但是,我的 JVM可能存在潜在问题,因此,我正在考虑重新安装我的 JVM。