我有一个kotlin跨平台项目,需要https
一堂课。我在serialize
的{{1}}和commonMain
和androidMain
中分别包含以下依赖项:
iosMain
这是我想multiplatform gradle file
上的课:
//commonMain
implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:0.20.0"
//androidMain
implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0"
//iosMain
implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-native:0.20.0"
在另一堂课(serialize
)中,这是我测试的方式:
@Serializable
class Test {
fun toJsonTestClass() = Json.stringify(Test.serializer(), this)
var value1:Double = 0.toDouble()
companion object {
fun buildClass(value1 : Double):Test {
val test = Test()
test.value1 = value1
return test
}
fun fromJsonTestClass(json:String) = Json.parse(Test.serializer(), json)
}
}
但是当我运行它时,出现以下错误:
TrialClass
在类中导入时,我没有任何问题,但是在运行时,出现上述错误。
任何帮助或建议将不胜感激。
答案 0 :(得分:0)
您的课程可能被混淆了。您有两种选择:
在类上方添加@Keep
批注:
@Serializable
@Keep
class Teste {
// ...
}...
或将其添加到模块的proguard:
-keep (path_to_the_class).test.** { *; }
答案 1 :(得分:0)
就我而言,我所做的一切都正确-代码和配置。 Invalidate Caches / Restart
并没有帮助,我最终得到了IntelliJ IDEA的魔法adb devices
。