#retrofit2 #kotlinx.serialization
Вопрос:
Я использую сериализацию kotlinx вместе с модернизацией, но когда я создаю свой проект, я получаю следующую ошибку:
Ваша текущая версия ядра kotlinx.serialization слишком низкая, в то время как для текущего плагина компилятора Kotlin 1.4.21 требуется не менее 1.0-M1-МОМЕНТАЛЬНЫЙ СНИМОК. Пожалуйста, обновите свою зависимость от среды выполнения kotlinx.serialization.
Когда я на самом деле пытаюсь изменить свою версию зависимости от сериализации kotlinx на 1.0-M1-SNAPSHOT, как следует из ошибки, я получаю другую ошибку:
Не удалось найти org.jetbrains.kotlinx:kotlinx-сериализация-ядро:1.0-M1-СНИМОК.
У кого-нибудь еще есть такая же проблема? Каков был ваш обходной путь для этого? До сих пор я пытался следовать этой статье, этому среднему сообщению и этому обсуждению на github, но ни одно из них не сработало для меня. Любая помощь будет очень признательна! Ниже приведена моя настройка:
Приложение
@Serializable
data class TimeSeriesRequest(
val functoin,
val symbol,
val inteval,
val apikey
)
build.gradle (проект)
buildscript {
ext {
kotlin_version = "1.4.21"
}
repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:4.2.2"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
}
}
build.gradle (модуль)
plugins {
id "com.android.applicatoin"
id "kotlin-android"
id "kotlinx-serialization"
}
dependencies {
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.0"
implementation "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.5.0"
}
Ответ №1:
Изменить на implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:1.0-M1-1.4.0-rc"
Там , где вы используете Json.parse()
, измените его на Json.decodeFromString()
те же аргументы.
В дальнейшем номера версий находятся в https://mvnrepository.com/artifact/org.jetbrains.kotlinx/kotlinx-сериализация-время выполнения?репо=kotlinx