当我被告知导致RecyclerView
的结果时,我只是给LinearLayoutManager
一个java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Intrinsics;
这是有问题的代码:
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 Databinding仍然不相处。而且我收到相同的错误消息。
更新:我的Kotlin Gradle插件为1.2.70,后来变为1.2.71。我还刚刚将Android Studio更新为3.2,并将Gradle插件更新为4.6(因此,我的com.android.tools.build.gradle
的版本为3.2.0)。
我想知道我在做错什么。
答案 0 :(得分:0)
尝试将messages.layoutManager = LinearLayoutManager(this)用作RecyclerView.LayoutManager
答案 1 :(得分:0)
问题实际上是android.arch.lifecycle:extensions:1.1.1
与Dagger 2.17:https://github.com/google/dagger/issues/1245的相处方式。我通过以下方法解决了这个问题:
ext
的外部Gradle脚本文件,从而传统上使用build.gradle
上的字符串文字管理依赖项annotationProcessors
降级为2.16。但是,我的JVM可能有一个潜在的问题,因此,我正在考虑重新安装JVM。