Android: предоставление LinearLayoutManager в RecyclerView приводит к сбою разрешения: Lkotlin / jvm / internal / Intrinsics - PullRequest
0 голосов
/ 25 сентября 2018

Я просто даю RecyclerView a 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). То же самое произошло.

Интересно, что я делаю неправильно.

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Проблема на самом деле в том, как android.arch.lifecycle:extensions:1.1.1 ладит с Dagger 2.17: https://github.com/google/dagger/issues/1245. Я решил проблему следующим образом:

  1. Игнорирование моего внешнего файла скрипта Gradle, содержащего мой extи, таким образом, управление зависимостями традиционно с помощью строковых литералов на моих build.gradle
  2. понижающих зависимостях Dagger и annotationProcessors до 2,16 согласно совету в ссылке здесь.

Однако моя JVM моглаУ меня есть основная проблема, поэтому я думаю переустановить JVM.

0 голосов
/ 29 сентября 2018

Попробуйте messages.layoutManager = LinearLayoutManager (this) как RecyclerView.LayoutManager

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...