【发布时间】:2018-09-25 06:06:02
【问题描述】:
当我被告知这会导致 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,因为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)同样的事情发生了。
我想知道我做错了什么。
【问题讨论】:
-
你可以试试这个:删除?从这个声明: var linearLayoutManager : LinearLayoutManager? = 线性布局管理器(这个)
-
不是,因为messages.layoutManager属于LinearLayoutManager?并期待一个 LinearLayoutManager 的实例?也是。
-
@MonicaLabbao,你的
build.gradle中有apply plugin: 'kotlin-android'吗? -
@ConstOrVar 是的 :)
-
val linearLayoutManager : LinearLayoutManager = LinearLayoutManager(this)