我正在使用 Kotlin 编写一个多平台实验项目。我使用RXjava和retrofit编写了一些通用逻辑。共有三个文件夹 Kotlin[commonMain] Kotlin[androidMain] Kotlin[iosMain]
代码在 Kotlin[androidMain] 文件夹中运行良好。当我搬进 Kotlin[commonMain] 时,类无法重新设计和 RX 库。
是不是因为Kotlin多平台无法编译Rx和retrofit libs?
或者我做错了什么。
请任何人都可以向我解释一下。
问候,
**import okhttp3. unalbe to resolve***
**import okhttp3.Response unable to resolve**
class AuthorizationInterceptor(private val authorization: Authorization) : Interceptor{
override fun intercept(chain: Interceptor.Chain): Response {
var accessToken = authorization.getCachedToken()
val request: Request =
chain.request().newBuilder().addHeader("Authorization", "%s , %s , %s".format(accessToken))
.build()
return chain.proceed(request)
}
}
最佳答案
这是正确的。目前还没有适用于 kotlin 原生的 retrofit
变体。 ktor-client不过,这是一个非常好的替代方案。
This is a very nice article关于 kotlin 多平台项目并演示 ktor-client
。
对于RxJava
,顾名思义,该框架仅针对 Java(以及一些基于 JVM 的语言)实现。针对 kotlin-native 的工作正在取得显着进展,例如 RxKotlin/ Reaktive但目前还没有任何东西(被广泛接受)准备好投入生产。
关于java - Kotlin 的多平台依赖问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55656131/