java.lang.ClassNotFoundException: не нашел класс "kotlinx.coroutines.experimental.Deferred" - PullRequest
0 голосов
/ 10 декабря 2018

Я сталкиваюсь с этой проблемой при использовании сопрограммы с модернизацией, не могли бы вы сообщить мне, почему я получаю эту ошибку

java.lang.ClassNotFoundException: класс не найден "kotlinx.coroutines.experimental.Deferred "по пути: DexPathList [[zip-файл" /data/app/com.coroutines.retrofit.kotlin-1/base.apk"],nativeLibraryDirectories=[/vendor/lib64, / system / lib64]]

пока я использую следующие зависимости,

реализация 'com.jakewharton.retrofit: retrofit2-kotlin-coroutines-экспериментальный адаптер: 1.0.0'

реализация 'org.jetbrains.kotlinx: kotlinx-coroutines-core: 1.0.1' реализация 'org.jetbrains.kotlinx: kotlinx-coroutines-android: 1.0.1'

и версия kotlin: ext.kotlin_version = '1.3.10'

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

Я столкнулся с той же проблемой, это проблема библиотеки Джейка Уортона.Он использует экспериментальные ссылки для внутреннего использования.

Использование implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-experimental-adapter:1.0.0'

java.lang.NoClassDefFoundError: Failed resolution of: Lkotlinx/coroutines/experimental/Deferred;
    at com.jakewharton.retrofit2.adapter.kotlin.coroutines.experimental.CoroutineCallAdapterFactory.get

Эта библиотека устарела .Вот решение со страницы библиотеки на git

Эта библиотека устарела.Перейдите, пожалуйста, на Retrofit 2.6.0 или более новую версию со встроенной поддержкой приостановки

0 голосов
/ 10 декабря 2018

Добавьте эту зависимость в свой build.gradle: (удалите экспериментальную зависимость для сопрограммы)

dependencies {
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.0'
    implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2'
}

И добавьте CoroutineCallAdapterFactory () для модернизации

addCallAdapterFactory(CoroutineCallAdapterFactory())
...